it can be done in O(N) by using XOR ing the elements 1: Xor all the elemnts since those elemnts that even freq will nullify each other we get number taht will tell in which the two required number differ. 2: divide the array in two sets on the basis of bit in which numbers differ 3:1 element will be in one set another will be in another set 4: XOR both the sets again we get both the elemts On Thu, Aug 25, 2011 at 12:50 PM, Umesh Jayas <algowithum...@gmail.com>wrote:
> > > int main() > { > int arr[]={1,2,5,1,5,1,1,3,2,2,}; > int elements = sizeof(arr)/sizeof(arr[0]); > int count=1; > int num; > sort(arr,arr+elements); > > num=arr[0]; > for(int i=1;i<elements;i++) > { > if(arr[i]==num) > count++; > else > { > if(count%2==0) > { num=arr[i]; > count=1;} > else > {cout<<"\n"<<arr[i-1]; > count=1; > num=arr[i]; > } > } > } > getch(); > } > > complexity: O(nlogn) > > -- > You received this message because you are subscribed to the Google Groups > "Algorithm Geeks" group. > To post to this group, send email to algogeeks@googlegroups.com. > To unsubscribe from this group, send email to > algogeeks+unsubscr...@googlegroups.com. > For more options, visit this group at > http://groups.google.com/group/algogeeks?hl=en. > -- You received this message because you are subscribed to the Google Groups "Algorithm Geeks" group. To post to this group, send email to algogeeks@googlegroups.com. To unsubscribe from this group, send email to algogeeks+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/algogeeks?hl=en.