Header Ad

HackerRank Lonely Integer problem solution

In this HackerRank Lonely Integer problem solution, we have Given an array of integers, where all elements but one occur twice, find the unique element.

HackerRank Lonely Integer problem solution


Problem solution in Python.

def lonelyinteger(a):
    a = sorted(a)
    if len(a) < 3:
        return a[0]
    elif a[0] != a[1]:
        return a[0]
    else:
        return lonelyinteger(a[2:])

if __name__ == '__main__':
    a = int(input())
    b = map(int, input().strip().split(" "))
    print(lonelyinteger(b))


Problem solution in Java.

import java.io.*;
import java.util.*;

class Bismillah {

  public static void main(String[] args){
    Scanner in = new Scanner(System.in);
	
	
	int n = in.nextInt();
	int[] ai = new int[n];
	int i, j;
	int x = 0;
	boolean state;
	
	
	for (i = 0; i < n; i++) {
	  ai[i] = in.nextInt();
	}
	
	
	for (i = 0; i < n; i++) {
	  state = true;
	  for (j = 0; j < i; j++) {
		if (ai[i] == ai[j]) {
		  j = i; 
		  state = false;
		}
	  }
	  if (state == true) {
	    for (j = i+1; j < n; j++) {
		  if (ai[i] == ai[j]) {
		    j = n; 
		    state = false;
		  }
	    }
		if (state == true) {
		  x = i;		
		  i = n; 		
		}
	  }
	}
	
	
	System.out.println(ai[x]);
  }
}


Problem solution in C++.

#include <map>
#include <set>
#include <list>
#include <cmath>
#include <ctime>
#include <deque>
#include <queue>
#include <stack>
#include <bitset>
#include <cstdio>
#include <limits>
#include <vector>
#include <cstdlib>
#include <numeric>
#include <sstream>
#include <iostream>
#include <algorithm>
using namespace std;
int lonelyinteger(vector < int > a) {
    int res = 0;
    for(int i = 0;i<(int)a.size();i++)
        res ^= a[i];
    return res;
}
int main() {
    int res;
    
    int _a_size;
    cin >> _a_size;
    cin.ignore (std::numeric_limits<std::streamsize>::max(), '\n'); 
    vector<int> _a;
    int _a_item;
    for(int _a_i=0; _a_i<_a_size; _a_i++) {
        cin >> _a_item;
        _a.push_back(_a_item);
    }
    
    res = lonelyinteger(_a);
    cout << res;
    
    return 0;
}


Problem solution in C.

#include <stdio.h>
#include <string.h>
#include <math.h>
#include <stdlib.h>
#include <assert.h>
int lonelyinteger(int a_size, int* a) {
    int res = 0;
    for(int i=0; i<a_size; i++){
        res = res^a[i];
    }
    return res;

}
int main() {
    int res;
    
    int _a_size, _a_i;
    scanf("%d", &_a_size);
    int _a[_a_size];
    for(_a_i = 0; _a_i < _a_size; _a_i++) { 
        int _a_item;
        scanf("%d", &_a_item);
        
        _a[_a_i] = _a_item;
    }
    
    res = lonelyinteger(_a_size, _a);
    printf("%d", res);
    
    return 0;
}


Post a Comment

0 Comments