단일 번호

난이도 쉽게
자주 묻는 질문 아마존
배열조회수 42

n 크기의 배열 a []가 주어집니다. 의 모든 요소 정렬 1을 제외하고 두 번 존재합니다. 한 번만 나타나는 요소를 찾으십시오. 즉, 단일 숫자를 찾는다고 말합니다.

단일 번호

입력 : a [] = {1, 3, 5, 5, 2, 1, 3}

출력 : 2

입력 : a [] = {1, 3, 5, 5, 1}

출력 : 3

간단한 방법

다른 모든 요소로 각 요소를 확인하십시오. 단일 요소를 반환합니다.

암호알고리즘

  1. n 크기의 배열 a []를 초기화합니다.
  2. 배열에 단일 요소를 저장하는 정수 변수를 만들고 플래그 변수를 0으로 초기화합니다.
  3. 배열을 순회하고 플래그 변수를 0으로 업데이트하고 단일 요소에 대한 변수를 배열 a []의 현재 인덱스에 저장된 값으로 업데이트합니다.
  4. 0에서 n-1까지 내부 루프를 만들고 배열 a []의 현재 인덱스에 저장된 값이 단일 요소의 변수와 같고 내부 루프의 현재 인덱스가 현재 인덱스와 같지 않은지 확인합니다. 외부 루프에서 플래그 변수를 1로 업데이트합니다.
  5. 플래그 변수가 0이면 단일 요소에 대한 변수를 반환합니다.

단일 숫자를 찾는 C ++ 프로그램

#include <bits/stdc++.h>
using namespace std;

int singleElement(int a[], int n){
    int single,flag=0;
    for(int i=0; i<n; i++){
        flag = 0;
        single = a[i];
        for(int j=0; j<n; j++){
            if((a[j]==single)&&(j!=i)){
                flag=1;
            }    
        }
        if(flag==0)
            return single;
    }
}

int main() {
  int a[] = {1, 3, 5, 5, 2, 1, 3};
  int n = sizeof(a)/sizeof(a[0]);
  cout<<singleElement(a, n);
  return 0;
}
2

단일 번호를 찾는 Java 프로그램

class unique{ 
    
    static int singleElement(int[] a, int n){
        int single=0,flag=0;
        for(int i=0; i<n; i++){
            flag = 0;
            single = a[i];
            for(int j=0; j<n; j++){
                if((a[j]==single)&&(j!=i)){
                    flag=1;
                }    
            }
            if(flag==0){
                return single;
            }    
        }
        return single;
    }

    public static void main (String[] args){ 
  
        int a[] = {1, 3, 5, 5, 2, 1, 3}; 
        int n = a.length; 
        System.out.println(singleElement(a, n)); 
        
    } 
} 
2

복잡성 분석

시간 복잡성 : 의 위에2) 여기서 n은 주어진 배열 a []의 요소 수입니다.

보조 공간 : O (1) 우리는 일정한 추가 공간을 사용했기 때문입니다.

Xor 사용

xor의 속성 사용 –

a xor a = 0

0 xor a = a

암호알고리즘

  1. n 크기의 배열 a []를 초기화합니다.
  2. 정수 배열과 정수 배열의 크기를 매개 변수로 받아들이는 주어진 배열 a []에서 단일 요소를 찾는 함수를 만듭니다.
  3. 변수 single을 초기화하고 주어진 배열의 첫 번째 요소를 그 안에 저장합니다.
  4. 배열을 1에서 n-1까지 순회하고 변수 single 자체의 xor와 주어진 배열의 현재 인덱스에있는 값으로 변수 single을 업데이트합니다.
  5. 변수 single을 반환합니다.

단일 숫자를 찾는 C ++ 프로그램

#include <bits/stdc++.h>
using namespace std;

int singleElement(int a[], int n){
    int single = a[0]; 
    for(int i=1; i<n; i++) 
        single = single ^ a[i]; 
  
    return single;
}

int main() {
  int a[] = {1, 3, 5, 5, 2, 1, 3};
  int n = sizeof(a)/sizeof(a[0]);
  cout<<singleElement(a, n);
  return 0;
}
2

단일 번호를 찾는 Java 프로그램

class unique{ 
    
    static int singleElement(int[] a, int n){
        int single = a[0]; 
        for(int i=1; i<n; i++) 
            single = single ^ a[i]; 
      
        return single;
    }

    public static void main (String[] args){ 
  
        int a[] = {1, 3, 5, 5, 2, 1, 3}; 
        int n = a.length; 
        System.out.println(singleElement(a, n)); 
        
    } 
} 
2

복잡성 분석

시간 복잡성 : O (n) 여기서 n은 주어진 배열 a []의 요소 수입니다.

보조 공간 : O (1) 우리는 일정한 추가 공간을 사용했기 때문입니다.

참조

Translate »