Tuesday 25 August 2015

.>>>>>>>>>>>Counting sort in ruby(PL)
#author "shivamzaz" @imsec 
a=[1,1,3,2]   #take any one arrray
d=a.max
c=Array.new((d+1)) { |i|  i=0 }
for i in 0...a.length
    c[a[i]]+=1
end
for i in 1...c.length
    c[i]=c[i]+c[i-1]
end
b=Array.new(c.max) {|v| v=0}
for i in (a.length-1).downto(0)
    b[c[a[i]]]=a[i]
    c[a[i]]-=1
end
i=a.min
while(b[i]!=nil)
    puts b[i]
    i+=1
end

>>>>>>>>>>>>>>happy coding<<<<<<<<<<<<<<<<<<

Monday 10 August 2015

Number of unique elements using c++ in o(n):
    /*author => shivamzaz
                            level=> ad-hoc
          complexity=> o(n)  */
    #include "bits/stdc++.h"
      using namespace std;
    int main(){
    int a[]={2,2,3,2},cnt=0;
    bool b[4]={0};
    for(int i=0;i<4;i++){
        b[a[i]]=1;
    }
    for(int i=0;i<4;i++){
        if(b[i]==1){
            cnt++;
        }
    }
    printf("%d\n",cnt);
    return 0;
    }

Saturday 8 August 2015

Quickly find fibonacci numbers(using matrix property).
 
 Divide_Conquer_Fib(n) {
       i = h = 1;
       j = k = 0;
      while (n > 0) {
               if (n%2 == 1) { // if n is odd
                   t = j*h;
                    j = i*h + j*k + t;
                    i = i*k + t;
               }
       t = h*h;
       h = 2*k*h + t;
       k = k*k + t;
       n = (int) n/2;
     }
return j;
}