부족 한 정 수 를 찾아내다

제목 설명
배열 A 는 0 에서 n 까지 의 모든 정 수 를 포함 하지만 그 중 하 나 를 잃 었 다.이 문제 에 대해 우 리 는 제한 을 설정 하여 한 번 의 조작 으로 배열 number 의 전체 내용 을 얻 을 수 없 게 합 니 다.유일한 사용 가능 한 동작 은 배열 에서 i 번 째 요소 의 바 이 너 리 j 위 (최저 위 는 0 위) 를 묻 는 것 입 니 다. 이 작업 의 시간 복잡 도 는 상수 입 니 다. 알고리즘 을 설계 하여 O (n) 시간 내 에 이 수 를 찾 으 십시오.
하나의 배열 number, 즉 모든 나머지 수 를 작은 것 에서 큰 것 으로 배열 하 는 바 이 너 리 여러분 의 값 을 지정 합 니 다. 예 를 들 어 A [0] [1] 은 나머지 두 번 째 수 바 이 너 리 가 낮은 것 에서 높 은 것 으로 두 번 째 를 표시 합 니 다.동시에 int 를 지정 합 니 다. n. 의미 가 문제 와 같다.부족 한 수 를 되 돌려 주세요.
테스트 샘플:
[[0],[0,1]]
복귀
사고: 전체 수치 x 의 바 이 너 리 는 가장 낮은 비트 가 1 일 때 x 는 홀수 임 을 나타 낸다.최 하위 가 0 일 때 x 는 짝수 이다.
배열 의 수 는 0 ~ n 의 나머지 수 는 작은 것 에서 큰 것 으로 배열 되 기 때문에 부족 한 수 전에 배열 의 줄 표 와 수 는 같 습 니 다. 즉, 줄 표 i = x 입 니 다. 이때 줄 표 i% 2 의 수 치 는 배열 중의 numbers [0] 과 같 습 니 다. 즉, i 는 홀수 이 고 numbers [0] 는 1 입 니 다.짝수 일 때 numbers [i] [0] 은 0 입 니 다.
첫 번 째 i% 2 는 numbers [i] [0] 과 같 지 않 은 부분 이 바로 결함 수 이다.
부족 수가 n 즉 최대 치 인 상황 에 주의해 야 한다.단독 return n;
코드 는 다음 과 같다.
import java.util.*;

public class Finder {
    public int findMissing(int[][] numbers, int n) {
        // write code here
        for(int i=0;i

좋은 웹페이지 즐겨찾기