Google Interview Question for Software Engineers


Country: United States
Interview Type: Phone Interview




Comment hidden because of low score. Click to expand.
0
of 0 vote

gjgjg

- khkh December 02, 2019 | Flag Reply
Comment hidden because of low score. Click to expand.
0
of 0 vote

The idea is to map the 2d points to some sort of fixed reference and only compare where it make sense, instead of comparing each point with all the other point, which makes it a N2 algorithm. So here is my take on this. Divide the entire grid into a chunk of k x k grid squares.
e.g. 1st squre(0,0)(0,k)(k,0)(k,k)
2nd squre (0,k)(k,k)(0,2k)(k.2k)
Then iterate over each point and assign a parent grid
CEIL(i/k) * k, CEIL(j/k)*k

Once we have the squres assigned, iterate over the points which belongs only to adjacent 8 sqaures. Rest will lay out of bound for any 2d points inside this grid. Then like minimum spanning tree algorithm, keep chaining the points.

- Confused Aatma December 03, 2019 | Flag Reply
Comment hidden because of low score. Click to expand.
0
of 0 votes

Order : O(N)
However, if all the 2d points are packed with in these 9 squres, then a further division will reduce the number of iteration within the points.

- Confused Aatma December 03, 2019 | Flag
Comment hidden because of low score. Click to expand.
0
of 0 vote

You can find this in O(N) approach. Find the min from the array and the max from the array.
Now you should have your buckets like this:
bucket1: [min, min + k]
bucket2: [min + k + 1, min + k + 1 + k]
..
bucketN/K: [max - k,max]
Now, you start iteration over the array and find out which bucket the current number belongs to and add it in the corresponding bucket.
When the iteration is over, just check for those buckets whose count of items inserted is greater then 1.

- Abhishek J December 11, 2019 | Flag Reply


Add a Comment
Name:

Writing Code? Surround your code with {{{ and }}} to preserve whitespace.

Books

is a comprehensive book on getting a job at a top tech company, while focuses on dev interviews and does this for PMs.

Learn More

Videos

CareerCup's interview videos give you a real-life look at technical interviews. In these unscripted videos, watch how other candidates handle tough questions and how the interviewer thinks about their performance.

Learn More

Resume Review

Most engineers make critical mistakes on their resumes -- we can fix your resume with our custom resume review service. And, we use fellow engineers as our resume reviewers, so you can be sure that we "get" what you're saying.

Learn More

Mock Interviews

Our Mock Interviews will be conducted "in character" just like a real interview, and can focus on whatever topics you want. All our interviewers have worked for Microsoft, Google or Amazon, you know you'll get a true-to-life experience.

Learn More