Tuesday, January 31, 2017

Runtime complexity of STL Map and Multimap

Runtime complexity of STL Map and Multimap

Maps can be thought of as generalized vectors. They allow map[key] = value for any kind of key, not just integers. Maps are often called associative tables in other languages, and are incredibly useful. They're even useful when the keys are integers, if you have very sparse arrays, i.e., arrays where almost all elements are one value, usually 0.
Maps are implemented with balanced binary search trees, typically red-black trees. Thus, they provide logarithmic storage and retrieval times. Because they use search trees, maps need a comparison predicate to sort the keys. operator<() will be used by default if none is specified a construction time.
Maps store <key, value> pair's. That's what map iterators will return when dereferenced. To get the value pointed to by an iterator, you need to say
(*mapIter).second
Usually though you can just use map[key] to get the value directly.
Warning: map[key] creates a dummy entry for key if one wasn't in the map before. Use map.find(key) if you don't want this to happen.
multimaps are like map except that they allow duplicate keys. map[key] is not defined for multimaps. Instead you use lower_bound() and upper_bound(), or equal_range(), to get the iterators for the beginning and end of the range of values stored for the key. To insert a new entry, use map.insert(pair<key_type, value_type>(key, value)).

Header

#include <map>

Constructors

map< key_type, value_type, key_compare > m; Make an empty map. key_compare should be a binary predicate for ordering the keys. It's optional and will default to a function that uses operator<. O(1)
map< key_type, value_type, key_compare > m(begin, end); Make a map and copy the values from begin to end. O(n log n)

Accessors

m[key] Return the value stored for key. This adds a default value if key not in map. O(log n)
m.find(key) Return an iterator pointing to a key-value pair, or m.end() if key is not in map. O(log n)
m.lower_bound(key) Return an iterator pointing to the first pair containing key, or m.end() if key is not in map. O(log n)
m.upper_bound(key) Return an iterator pointing one past the last pair containing key, or m.end() if key is not in map. O(log n)
m.equal_range(key) Return a pair containing the lower and upper bounds for key. This may be more efficient than calling those functions separately. O(log n)
m.size(); Return current number of elements. O(1)
m.empty(); Return true if map is empty. O(1)
m.begin() Return an iterator pointing to the first pair. O(1)
m.end() Return an iterator pointing one past the last pair. O(1)

Modifiers

m[key] = value; Store value under key in map. O(log n)
m.insert(pair) Inserts the <key, value> pair into the map. Equivalent to the above operation. O(log n)

Runtime complexity of STL Set and Multiset

Runtime complexity of STL Set and Multiset

Set and Multiset

Sets store objects and automatically keep them sorted and quick to find. In a set, there is only one copy of each objects. multisets are declared and used the same as sets but allow duplicate elements.
Anything stored in a set has to have a comparison predicate. This will default to whatever operator<() has been defined for the item you're storing. Alternatively, you can specify a predicate to use when constructing the set.

Header

#include <set>

Constructors

set< type, compare > s; Make an empty set. compare should be a binary predicate for ordering the set. It's optional and will default to a function that uses operator<. O(1)
set< type, compare > s(begin, end); Make a set and copy the values from begin to end. O(n log n)

Accessors

s.find(key) Return an iterator pointing to an occurrence of key in s, or s.end() if key is not in s. O(log n)
s.lower_bound(key) Return an iterator pointing to the first occurrence of an item in s not less than key, or s.end() if no such item is found. O(log n)
s.upper_bound(key) Return an iterator pointing to the first occurrence of an item greater than key in s, or s.end() if no such item is found. O(log n)
s.equal_range(key) Returns pair<lower_bound(key), upper_bound(key)>. O(log n)
s.count(key) Returns the number of items equal to key in s. O(log n)
s.size(); Return current number of elements. O(1)
s.empty(); Return true if set is empty. O(1)
s.begin() Return an iterator pointing to the first element. O(1)
s.end() Return an iterator pointing one past the last element. O(1)

Modifiers

s.insert(iterator, key) Inserts key into s. iterator is taken as a "hint" but key will go in the correct position no matter what. Returns an iterator pointing to where key went. O(log n)
s.insert(key) Inserts key into s and returns a pair<iterator, bool>, where iterator is where key went and bool is true if key was actually inserted, i.e., was not already in the set. O(log n)

Runtime complexity of STL priority Queue

Priority Queue

In the C++ STL, a priority queue is a container adaptor. That means there is no primitive priorty queue data structure. Instead, you create a priority queue from another container, like a deque, and the priority queue's basic operations will be implemented using the underlying container's operations.
Priority queues are neither first-in-first-out nor last-in-first-out. You push objects onto the priority queue. The top element is always the "biggest" of the elements currently in the priority queue. Biggest is determined by the comparison predicate you give the priority queue constructor.
If that predicate is a "less than" type predicate, then biggest means largest.
If it is a "greater than" type predicate, then biggest means smallest.

Runtime complexity of STL priority Queue

Header

#include <queue> -- not a typo!

Constructors

priority_queue<T,
  container<T>,
  comparison<T> >
  q;
Make an empty priority queue using the given container to hold values, and comparison to compare values. container defaults to vector<T> and comparison defaults to less<T>. O(1)

Accessors

q.top(); Return the "biggest" element. O(1)
q.size(); Return current number of elements. O(1)
q.empty(); Return true if priority queue is empty. O(1)

Modifiers

q.push(value); Add value to priority queue. O(log n)
q.pop(); Remove biggest value. O(log n)

Runtime complexity of STL Queue

Runtime complexity of STL Queue

Queue

In the C++ STL, a queue is a container adaptor. That means there is no primitive queue data structure. Instead, you create a queue from another container, like a list, and the queue's basic operations will be implemented using the underlying container's operations.
Don't confuse a queue with a deque.

Header

#include <queue>

Constructors

queue< container<T> > q; Make an empty queue. O(1)

Accessors

q.front(); Return the front element. O(1)
q.back(); Return the rear element. O(1)
q.size(); Return current number of elements. O(1)
q.empty(); Return true if queue is empty. O(1)

Modifiers

q.push(value); Add value to end. Same for push_back() for underlying container.
q.pop(); Remove value from front. O(1)

Runtime complexity of STL Stack

Runtime complexity of STL Stack

Stack

In the C++ STL, a stack is a container adaptor. That means there is no primitive stack data structure. Instead, you create a stack from another container, like a list, and the stack's basic operations will be implemented using the underlying container's operations.

Header

#include <stack>

Constructors

stack< container<T> > s; Make an empty stack. O(1)

Accessors

s.top(); Return the top element. O(1)
s.size(); Return current number of elements. O(1)
s.empty(); Return true if stack is empty. O(1)

Modifiers

s.push(value); Push value on top. Same as push_back() for underlying container.
s.pop(); Pop value from top. O(1)

Runtime complexity of STL LIST

Runtime complexity of STL LIST

Constructors

list<T> l; Make an empty list. O(1)
list<T> l(begin, end); Make a list and copy the values from begin to end. O(n)

Accessors

l.size(); Return current number of elements. O(1)
l.empty(); Return true if list is empty. O(1)
l.begin(); Return bidirectional iterator to start. O(1)
l.end(); Return bidirectional iterator to end. O(1)
l.front(); Return the first element. O(1)
l.back(); Return the last element. O(1)

Modifiers

l.push_front(value); Add value to front. O(1)
l.push_back(value); Add value to end. O(1)
l.insert(iterator, value); Insert value after position indexed by iterator. O(1)
l.pop_front(); Remove value from front. O(1)
l.pop_back(); Remove value from end. O(1)
l.erase(iterator); Erase value indexed by iterator. O(1)
l.erase(begin, end); Erase the elements from begin to end. O(1)
l.remove(value); Remove all occurrences of value. O(n)
l.remove_if(test); Remove all element that satisfy test. O(n)
l.reverse(); Reverse the list. O(n)
l.sort(); Sort the list. O(n log n)
l.sort(comparison); Sort with comparison function. O(n logn)
l.merge(l2); Merge sorted lists. O(n)

Runtime complexity of STL Deque

Runtime complexity of STL Deque

Constructors

deque<T> d; Make an empty deque. O(1)
deque<T> d(n); Make a deque with N elements. O(n)
deque<T> d(n, value); Make a deque with N elements, initialized to value. O(n)
deque<T> d(begin, end); Make a deque and copy the values from begin to end. O(n)

Accessors

d[i]; Return (or set) the I'th element. O(1)
d.at(i); Return (or set) the I'th element, with bounds checking. O(1)
d.size(); Return current number of elements. O(1)
d.empty(); Return true if deque is empty. O(1)
d.begin(); Return random access iterator to start. O(1)
d.end(); Return random access iterator to end. O(1)
d.front(); Return the first element. O(1)
d.back(); Return the last element. O(1)

Modifiers

d.push_front(value); Add value to front. O(1) (amortized)
d.push_back(value); Add value to end. O(1) (amortized)
d.insert(iterator, value); Insert value at the position indexed by iterator. O(n)
d.pop_front(); Remove value from front. O(1)
d.pop_back(); Remove value from end. O(1)
d.erase(iterator); Erase value indexed by iterator. O(n)
d.erase(begin, end); Erase the elements from begin to end. O(n)

Runtime complexity of STL vector

Runtime complexity of STL vector

Vector

Header

#include <vector>

Constructors

vector<T> v; Make an empty vector. O(1)
vector<T> v(n); Make a vector with N elements. O(n)
vector<T> v(n, value); Make a vector with N elements, initialized to value. O(n)
vector<T> v(begin, end); Make a vector and copy the elements from begin to end. O(n)

Accessors

v[i]; Return (or set) the I'th element. O(1)
v.at(i); Return (or set) the I'th element, with bounds checking. O(1)
v.size(); Return current number of elements. O(1)
v.empty(); Return true if vector is empty. O(1)
v.begin(); Return random access iterator to start. O(1)
v.end(); Return random access iterator to end. O(1)
v.front(); Return the first element. O(1)
v.back(); Return the last element. O(1)
v.capacity(); Return maximum number of elements. O(1)

Modifiers

v.push_back(value); Add value to end. O(1) (amortized)
v.insert(iterator, value); Insert value at the position indexed by iterator. O(n)
v.pop_back(); Remove value from end. O(1)
v.erase(iterator); Erase value indexed by iterator. O(n)
v.erase(begin, end); Erase the elements from begin to end. O(n)


Journey to the Moon

My Solution to "Journey to the Moon" hackerrank question. All testcases pass.

https://www.hackerrank.com/challenges/journey-to-the-moon

#include <cmath>
#include <cstdio>
#include <vector>
#include <iostream>
#include <algorithm>
#include <vector>
#include <list>
#include <queue>
#include <set>
#include <map>
#include <string>
#include <sstream>
#include <iostream>
#include <algorithm>
#include <functional>
#include <numeric>
#include <cstdlib>
#include <cmath>
#include <cstdio>
#include <fstream>
#include <ctime>
#include <cassert>

using namespace std;

int connected (int a, int b, vector<vector<int>> & v) {
    queue<int> q;
    vector<int> v1(v.size(), 0);
    for (int i = 0; i< v[a].size(); i++) {
        q.push(v[a][i]);
    }
    v1[a] = 1;
    while(!q.empty()) {
        if (q.front() == b) return 1;
        if (v1[q.front()] == 0) {
            for (int i = 0; i< v[q.front()].size(); i++) {
                    q.push(v[q.front()][i]);
            }
        }
        v1[q.front()] = 1;
        q.pop();
    }
    return 0;
}

int main()
{
    int N, I;
    int c = 0;
    long long c1 = 0;
    cin >> N >> I;
    vector<vector<int> > pairs(N);
    vector<vector<int> > country;
    vector<int> v(N,0);
    vector<int> v1(N,0);
    for (int i = 0; i < I; ++i) {
        int a, b;
        cin >> a >> b;
        pairs[a].push_back(b);
        pairs[b].push_back(a);
    }

    long long result = 0;
   
    /** Write code to compute the result using N,I,pairs **/
    for (int i = 0; i < N; ++i) {
        if (v[i] == 0 && pairs[i].size() > 0) {
            vector<int> v2(0);
            country.push_back(v2);
            country[c].push_back(i);
            v1[i] = 1;
            for (int j = 0; j<pairs[i].size(); j++) {
                if (v1[pairs[i][j]] == 0)
                    country[c].push_back(pairs[i][j]);
                v1[pairs[i][j]] = 1;
            }
            v[i] = 1;
            for(int k = 0; k<country[c].size(); k++) {
                if (v[country[c][k]] == 0) {
                    for (int j = 0; j<pairs[country[c][k]].size(); j++) {
                        if (v1[pairs[country[c][k]][j]] == 0)
                            country[c].push_back(pairs[country[c][k]][j]);
                        v1[pairs[country[c][k]][j]] = 1;
                    }
                }
                v[country[c][k]] = 1;
            }
            c++;
            //cout<<"here";
        } else {
            if (pairs[i].size() == 0) {
                //vector<int> v2(0);
                //country.push_back(v2);
                //country[c].push_back(i);
                c1++;
            }
        }
       
    }
   
    for (int i = 0; i<country.size(); i++) {
        for (int j = i +1; j<country.size(); j++) {
            result = result + country[i].size() * country[j].size();
        }
    }
    long long temp =0;
    for (int i = 0; c1>0 && i<country.size(); i++)
        temp = temp + country[i].size();
    if (c1> 0) result = result + (c1*(c1-1))/2 + temp*c1;
    cout << result <<endl;
    return 0;
}

List of all the websites a programmer or a codes or a techie must visit in his lifetime.


Blogs
Coding Style Guides
General Advice and Tips
Github
Interview Preparation
News
Online Courses
Programming Contests
Programming Practice
Reddit
Resources
Tutorials
Social Interaction
Wikipedia

Important interview Questions on C pointers

• C Pointers
o What does *p++ do? Does it increment p or the value pointed by p?
o What is a NULL pointer? How is it different from an unitialized pointer?
How is a NULL pointer defined?
o What is a null pointer assignment error?
o Does an array always get converted to a pointer? What is the difference
between arr and &arr? How does one declare a pointer to an entire array?
o Is the cast to malloc() required at all?
o What does malloc() , calloc(), realloc(), free() do? What are the common
problems with malloc()? Is there a way to find out how much memory a
pointer was allocated?
o What's the difference between const char *p, char * const p and const char
* const p?
o What is a void pointer? Why can't we perform arithmetic on a void *
pointer?
o What do Segmentation fault, access violation, core dump and Bus error
mean?
o What is the difference between an array of pointers and a pointer to an
array?
o What is a memory leak?
o What are brk() and sbrk() used for? How are they different from malloc()?
o What is a dangling pointer? What are reference counters with respect to
pointers?
o What do pointers contain?
o Is *(*(p+i)+j) is equivalent to p[i][j]? Is num[i] == i[num] == *(num + i)
== *(i + num)?
o What operations are valid on pointers? When does one get the Illegal use
of pointer in function error?
o What are near, far and huge pointers? New!
o What is the difference between malloc() and calloc()? New!
o Why is sizeof() an operator and not a function? New!
o What is an opaque pointer?

Important interview questions on OS (Operating Systems)

OS Concepts
o What do the system calls fork(), vfork(), exec(), wait(), waitpid() do?
Whats a Zombie process? Whats the difference between fork() and
vfork()?
o How does freopen() work? *
o What are threads? What is a lightweight process? What is a heavyweight
process? How different is a thread from a process? *
o How are signals handled? *
o What is a deadlock? *
o What are semaphores? *
o What is meant by context switching in an OS?*
o What is Belady's anomaly?
o What is thrashing?*
o What are short-, long- and medium-term scheduling?
o What are turnaround time and response time?
o What is the Translation Lookaside Buffer (TLB)?
o What is cycle stealing?
o What is a reentrant program?
o When is a system in safe state?
o What is busy waiting?
o What is pages replacement? What are local and global page
replacements?*
o What is meant by latency, transfer and seek time with respect to disk I/O?
o What are monitors? How are they different from semaphores?*
o In the context of memory management, what are placement and
replacement algorithms?
o What is paging? What are demand- and pre-paging?*
o What is mounting?
o What do you mean by dispatch latency?
o What is multi-processing? What is multi-tasking? What is multithreading?
What is multi-programming?*
o What is compaction?
o What is memory-mapped I/O? How is it different frim I/O mapped I/O?
o List out some reasons for process termination.

VHDL code for RAM (Random Access Memory)

PACKAGE p_ram IS
    TYPE t_ram_data IS ARRAY(0 TO 511) OF INTEGER;
    CONSTANT x_val : INTEGER := -1;
    CONSTANT z_val : INTEGER := -2;
END p_ram;

USE WORK.p_ram.ALL;
LIBRARY IEEE; USE IEEE.std_logic_1164.ALL;

ENTITY ram IS
    PORT( data_in : IN INTEGER;
    PORT( addr : IN INTEGER;
    PORT( data : OUT INTEGER;
    PORT( cs : IN std_logic;
    PORT( r_wb: in std_logic);
END ram;

ARCHITECTURE behave_ram OF ram IS
BEGIN
    main_proc: PROCESS( cs, addr, r_wb )
    VARIABLE ram_data : t_ram_data;
    VARIABLE ram_init : boolean := false;
    BEGIN
        IF NOT(ram_init) THEN
        FOR i IN ram_data’LOW TO ram_data’HIGH LOOP
             ram_data(i) := 0;
        END LOOP;
        ram_init := TRUE;
        END IF;
        IF (cs = ’X’) OR (r_wb = ’X’)THEN
              data <= x_val;
        ELSIF ( cs = ’0’ ) THEN
              data <=z_val;
       ELSIF (r_wb = ’1’) THEN
       IF (addr = x_val) OR (addr = z_val) THEN
               data <=x_val;
       ELSE
               data <= ram_data(addr);
       END IF;
      ELSE
             IF (addr = x_val) OR (addr = z_val) THEN
                        ASSERT FALSE
                        REPORT “ writing to unknown address”
                        SEVERITY ERROR;
                        data <= x_val;
             ELSE
                       ram_data(addr) :=data_in;
                       data <= ram_data(addr);
             END IF;
       END IF;
   END PROCESS;
END behave_ram;

Multiplexer VHDL

ENTITY mux IS
PORT ( a, b, c, d : IN BIT;
s0, s1 : IN BIT;
x, : OUT BIT);
END mux;

ARCHITECTURE dataflow OF mux IS
SIGNAL select : INTEGER;
BEGIN
select <= 0 WHEN s0 = ‘0’ AND s1 = ‘0’ ELSE
1 WHEN s0 = ‘1’ AND s1 = ‘0’ ELSE
2 WHEN s0 = ‘0’ AND s1 = ‘1’ ELSE
3;
x <= a AFTER 0.5 NS WHEN select = 0 ELSE
b AFTER 0.5 NS WHEN select = 1 ELSE
c AFTER 0.5 NS WHEN select = 2 ELSE
d AFTER 0.5 NS;
END dataflow;

Friday, January 27, 2017

Rent receipt for HRA in India.

Rent receipt for HRA in India.

Format :



1.      Tenant Name : _____________________

2.      Landlord's name and address : ______________________________

3.      Tenant’s residential address  : _____________________________

4.      Rent amount  : _____________

5.      Month and Year : _______________

6.      PAN of Landlord : ________________________





Landlord Sign                                                                                                           Tenant Sign                                                 


Wednesday, January 25, 2017

Interesting android codes

Dial these codes from android phone to see the results.

Following are the secret codes for you. Please read the subsequent result before trying them out, since a few codes are meant to wipe your entire system, pressing which you can lose your valuable data.
*#*#4636#*#* Display information about Phone, Battery and Usage statistics
*#*#7780#*#* Resetting your phone to factory state-Only deletes application data and applications
*2767*3855# It's a complete wiping of your mobile also it reinstalls the phones firmware
*#*#34971539#*#* Shows completes information about the camera
*#*#7594#*#* Changing the power button behavior-Enables direct poweroff once the code enabled
*#*#273283*255*663282*#*#* For a quick backup to all your media files
*#*#197328640#*#* Enabling test mode for service activity*#*#232339#*#* OR *#*#526#*#* Wireless Lan Tests
 *#*#232338#*#* Displays Wi-Fi Mac-address
*#*#1472365#*#* For a quick GPS test
*#*#1575#*#* A Different type GPS test
*#*#0283#*#* Packet Loopback test
*#*#0*#*#* LCD display test
*#*#0673#*#* OR *#*#0289#*#* Audio test
*#*#0842#*#* Vibration and Backlight test
*#*#2663#*#* Displays touch-screen version
*#*#2664#*#* Touch-Screen test
*#*#0588#*#* Proximity sensor test
*#*#3264#*#* Ram version
*#*#232331#*#* Bluetooth test
*#*#232337#*#* Displays bluetooth device address
*#*#8255#*#* For Google Talk service monitoring
*#*#4986*2650468#*#* PDA, Phone, Hardware, RF Call Date firmware info
*#*#1234#*#* PDA and Phone firmware info
*#*#1111#*#* FTA Software version
*#*#2222#*#* FTA Hardware version
*#*#44336#*#* Displays Build time and change list number
*#06#Displsys IMEI number
*#*#8351#*#* Enables voice dialing logging mode
*#*#8350#*#*Disables voice dialing logging mode

List of IFSC codes of all the banks of India

List of NEFT enabled bank Branches (Bank-wise IFS Codes) updated as on January 24, 2017
Abhyudaya Cooperative Bank
Abu Dhabi Commercial Bank
Ahmedabad Mercantile Cooperative Bank
Airtel Payments Bank Limited
Akola Janata Commercial Cooperative Bank
Allahabad Bank
Almora Urban Co-Operative Bank ltd
Andhra Bank
Andhra Pragathi Grameena Bank
Apna Sahakari Bank Ltd
Australia and New Zealand Banking Group Ltd
Axis Bank
Bandhan Bank Limited
Bank Internasional Indonesia
Bank of America
Bank of Bahrein and Kuwait
Bank of Baroda
Bank of Ceylon
Bank of India
Bank of Maharashtra
Bank of Tokyo Mitsubishi Ltd
Barclays Bank
Bassein Catholic Co-Op Bank Ltd
Bharat Cooperative Bank Mumbai Ltd
Bharatiya Mahila Bank Ltd
BNP Paribas Bank
Canara Bank
Capital Small Finance Bank Ltd
Capital Local Area Bank Ltd
Catholic Syrian Bank
Central Bank of India
Chinatrust Commercial Bank
CITI Bank
Citizen Credit Cooperative Bank
City Union Bank Ltd
Commonwealth Bank of Australia
Corporation Bank
Credit Agricole Corporate and Investment Bank
Credit Suisse AG
DBS Bank Ltd
DCB Bank Ltd
Deogiri Nagari Sahakari Bank Ltd. Aurangabad
Dena Bank
Deposit Insurance and Credit Guarantee Corporation
Deustche Bank
Development Bank of Singapore DBS
Dhanalakshmi Bank
DICGC
Doha Bank QSC
Dombivli Nagari Sahakari Bank Ltd
Equitas Small Finance Bank Limited
Export Import Bank of India
Federal Bank Ltd
Firstrand Bank Ltd
G P Parsik Bank
Gurgaon Gramin Bank Ltd
HDFC Bank Ltd
Himachal Pradesh State Co-Operative Bank Ltd
HSBC
HSBC Bank Oman Saog
ICICI Bank Ltd
IDBI Ltd
IDFC Bank Ltd
Idukki District Co-Operative Bank Ltd
Indian Bank
Indian Overseas Bank
Indusind Bank Ltd
Industrial and Commercial Bank of China Ltd
Industrial Bank of Korea
Jalgaon Janata Sahkari Bank Ltd
Jammu and Kashmir Bank
Janakalyan Sahakari Bank Ltd
Janaseva Sahakari Bank (Borivli) Ltd
Janaseva Sahakari Bank Ltd
Janata Sahakari Bank Ltd (Pune)
Jankalyan Sahakari Bank Ltd
JP Morgan Chase Bank NA
Kallappanna Awade Ichalkaranji Janata Sahakari Bank Ltd
Kalyan Janata Sahakari Bank Ltd
Kalupur Commercial Cooperative Bank
Kapol Cooperative Bank
Karnataka Bank Ltd
Karnataka Vikas Grameena Bank
Karur Vysya Bank
KEB Hana Bank
Kerala Gramin Bank
Kotak Mahindra Bank
Laxmi Vilas Bank
Mahanagar Cooperative Bank Ltd
Maharashtra Gramin Bank
Maharashtra State Cooperative Bank
MashreqBank PSC
Mizuho Bank Ltd
Nagar Urban Co-Operative Bank
National Bank of Abu Dhabi PJSC
Nagpur Nagrik Sahakari Bank Ltd
National Australia Bank
New India Cooperative Ban Ltd
NKGSB Cooperative Bank Ltd
North Malabar Gramin Bank
Nutan Nagarik Sahakari Bank Ltd
Oman International Bank
Oriental Bank of Commerce
Pragathi Krishna Gramin Bank
Prathama Bank
Prime Co-Operative Bank Ltd
PT Bank Maybank Indonesia TBK
Punjab and Maharashtra Cooperative Bank Ltd
Punjab and Sind Bank
Punjab National Bank
Rabobank International
Rajgurunagar Sahakari Bank Ltd
Rajkot Nagarik Sahakari Bank Ltd
RBL Bank Limited
Reserve Bank of India
Sahebrao Deshmukh Co-Op. Bank Ltd
Samarth Sahakari Bank Ltd
Saraswat Cooperative Bank Ltd
SBER Bank
SBM Bank Mauritius Ltd
Shikshak Sahakari Bank Ltd
Shinhan Bank
Shivalik Mercantile Co Operative Bank Ltd
Shri Chhatrapati Rajashri Shahu Urban Co-Op Bank Ltd
Societe Generale
Solapur Janata Sahkari Bank Ltd
South Indian Bank
Standard Chartered Bank
State Bank of Bikaner and Jaipur
State Bank of Hyderabad
State Bank of India
State Bank of Mauritius Ltd
State Bank of Mysore
State Bank of Patiala
State Bank of Travancore
Sumitomo Mitsui Banking Corporation
Surat National Cooperative Bank Limited
Sutex Cooperative Bank Ltd
Syndicate Bank
Tamilnad Mercantile Bank Limited
Telangana State Coop Apex Bank
The A.P. Mahesh Co-Op Urban Bank Ltd
The Akola District Central Co-Operative Bank
The Andhra Pradesh State Coop Bank Ltd
The Bank of Nova Scotia
The Cosmos Cooperative Bank Ltd
The Delhi State Cooperative Bank Ltd
The Gadchiroli District Central Cooperative Bank Ltd
The Greater Bombay Co-operative Bank Ltd
The Gujarat State Co-Operative Bank Ltd
The HASTI Co-Operative Bank Ltd
The Jalgaon Peoples Co-Op Bank
The Kangra Central Cooperative Bank Ltd
The Kangra Cooperative Bank Ltd
The Karad Urban Co-op Bank Ltd
The Karanataka State Co-Operative Apex Bank Limited
The Kurmanchal Nagar Sahkari Bank Ltd
The Mehsana Urban Cooperative Bank Ltd
The Mumbai District Central Co-Op Bank Ltd
The Municipal Co Operative Bank Ltd, Mumbai
The Nainital Bank Ltd
The Nasik Merchants Co-Op Bank Ltd
The Navnirman Co-Operative Bank Limited
The Pandharpur Urban Co Op. Bank Ltd. Pandharpur
The Rajasthan State Cooperative Bank Ltd
The Royal Bank of Scotland N.V.
The Seva Vikas Co-Operative Bank Ltd
The Shamrao Vithal Cooperative Bank Ltd
The Surat District Co Operative Bank Ltd
The Surat Peoples Co-Op Bank Ltd
The Tamilnadu State Apex Cooperative Bank
The Thane Bharat Sahakari Bank Ltd
The Thane District Central Co-Op Bank Ltd
The Thane Janata Sahakari Bank Ltd
The Varachha Co-Op. Bank Ltd
The Vishweshwar Sahakari Bank Ltd
The West Bengal State Cooperative Bank Ltd
The Zoroastrian Cooperative Bank Limited
TJSB Sahakari Bank Ltd
Tumkur Grain Merchants Cooperative Bank Ltd
UCO Bank
Union Bank of India
United Bank of India
United Overseas Bank
Vasai Vikas Sahakari Bank Ltd
Vijaya Bank
Westpac Banking Corporation
Woori Bank
Yes Bank Ltd
Zila Sahkari Bank Ltd Ghaziabad