## Algorithm Interview Questions

- 0of 0 votes

AnswersGiven a matrix which each element can be the following:

0: not walkable

1: walkable

n: Integer > 1 and is distinct in matrix

Find the minimum number of path it takes to visit each n in ascending order starting from matrix[0][0]. Note matrix[0][0] will always be 1. Allowed moves are (up,right,down,left);

Example:`input: [ [1,1,0,5] [0,1,1,4] ] Output: 5.`

Starting from position (0,0) we need to visit next smallest n which is 4. Min Distance from (0,0) to (1,3) is 4.

- tnutty2k8 August 23, 2017 in United States

Starting from position (1,3) we need to visit next smallest n which is 5. Min Distance from (1,3) to (0,3) is 1.

Total Min Distance is 4 + 1 = 5

Edit:

Allowed moves are [up,right,down,left]| Report Duplicate | Flag | PURGE

Algorithm - 1of 1 vote

AnswersGiven an array of objects with a known set of properties , implement a function that finds all possible partial matches (one object's property value matches the same property on another object), and produce a results object that describes those matches in any format you want.

- ad09 August 23, 2017 in United States| Report Duplicate | Flag | PURGE

Google Intern Algorithm - 2of 2 votes

AnswersGiven an unsorted array of integers, find the length of the longest consecutive elements sequence.

- NoOne August 22, 2017 in India

For example,

Given [100, 4, 200, 1, 3, 2],

The longest consecutive elements sequence is [1, 2, 3, 4].

Return its length: 4.

Your algorithm should run in O(n) complexity.| Report Duplicate | Flag | PURGE

Uber Senior Software Development Engineer Algorithm - 1of 1 vote

AnswersThe stock exchanges work with price matching. A seller comes with a price, and a buyer, given asking for the exact same price are matched, and in quantity.

- NoOne August 22, 2017 in India

Design a system that works.

Considerations:

1. More than a million buy/sale happens in a second.

2. One needs to show a ticker prices - last sold price of a stock.| Report Duplicate | Flag | PURGE

Myntra Software Architect Algorithm - 0of 0 votes

AnswersDesign a Shopping Cart. Come up with anything, how to ensure we scale, and how to ensure discount can be done.

- NoOne August 22, 2017 in India| Report Duplicate | Flag | PURGE

Myntra Software Architect Algorithm - 2of 2 votes

AnswersI was given a questions during an interview which I was not able to solve, please help me in finding the solution.

Ques : - Divide the set in two partition such that both the partition has minimum difference of their sum. If we add an element to the left subset during partitioning than the value of that number will automatically increases by 1, but it will not increase by 1 if I add it to the right side. Find the minimum difference between both the subsets : -`ex :- {1,2,3,4,5} leftSubset = {3,4} , rightSubset = {1,2,5} effective sum of leftSubset = 3+4+2(number of elements) effective sum of rightSubset = 1+2+5 = 8 difference of left and right = (9-8)=1 =, min difference`

solution : (1,2,3} {4,5}

- himanshu.tomar05 August 21, 2017 in India| Report Duplicate | Flag | PURGE

Goldman Sachs Applications Developer Algorithm - 0of 0 votes

AnswersGiven the following input:

- tnutty2k8 August 17, 2017 in United States

Array: array of integer coordinates(x,y) of length N

return a integer M that represents the maximum number of points that falls within the same line.

Example:

Array: [ [0,0], [1,1], [3, 12] ]

Output: 2# [0,0] and [1,1] falls in the same line. [3,12] falls on a different line. Thus the maximum number of points that falls on the same line is 2| Report Duplicate | Flag | PURGE

Algorithm - 0of 0 votes

AnswersGiven the following inputs:

- tnutty2k8 August 17, 2017 in United States

Array: Array of positive non repetitive integers of length N.

K: Integers in range of [2,N)

Target: A Target integer

return any subset of Array with K elements that sums up to target.

Example:

Array: [1,2,3,4,5]

K: 2

T: 6

Output: [1,5]

Array: [1,2,3,4,5]

K: 3

T: 6

Output: [1,2,3]

Array: [1,2,3,4,5]

K: 4,

T: 11

Output: [1,2,3,5]| Report Duplicate | Flag | PURGE

Algorithm - 1of 1 vote

AnswersImplement multithreaded rm -r <folder>, i.e recursively delete files/folder under <folder> by walking through it and assume there can be billions of files under folder and you can only delete folder if all contents in it are first deleted

- Erik August 17, 2017 in United States| Report Duplicate | Flag | PURGE

Google Software Engineer / Developer Algorithm - -1of 1 vote

AnswersGiven a matrix. Convert it into a linked list matrix such that each node is connected to its next right and down node.

Ex:

1 2 3

4 5 6

7 8 9

Output:

1->2->3->NULL

| | |

v v v

4->5->6->NULL

| | |

v v v

7->8->9->NULL

| | |

v v v

--NULL-

This is my code.`class Ideone { public static void main(String args[]) throws Exception { int arr[][] = { { 1, 2, 3 }, { 4, 5, 6 } }; LList op = convert2DArrintoList(arr, 0, 0); System.out.println(op); } public static LList convert2DArrintoList(int arr[][], int col, int row) { if (col >= arr[0].length || row >= arr.length) return null; return new LList(arr[row][col], convert2DArrintoList(arr, col, row + 1), convert2DArrintoList(arr, col + 1, row)); } static class LList { LList(int data) { this.data = data; } LList(int data, LList down, LList next) { this.data = data; this.down = down; this.next = next; } LList() { this.data = Integer.MAX_VALUE; } @Override public String toString() { return " " + this.data + " "; } int data; LList next; LList prev; LList rand; LList down; } }`

Are there better ways of doing it?

- koustav.adorable August 16, 2017 in United States| Report Duplicate | Flag | PURGE

Amazon SDE-2 Algorithm - 1of 1 vote

AnswersGenerate all possible matched parenthesis, given n left parenthesis and right parenthesis needs to be matched.

- NoOne August 16, 2017 in India| Report Duplicate | Flag | PURGE

Uber Senior Software Development Engineer Algorithm - 0of 0 votes

AnswersCreate a data structure that stores integers, let then add, delete. It also should be be able to return the minimum diff value of the current integers.

- NoOne August 16, 2017 in India

That is,

min_diff = minimum ( | x_i - x_j | )

Example:

-1,3,4,10,11,11

min_diff = 0

-1,3,4,10,11,14

min_diff = 1| Report Duplicate | Flag | PURGE

Uber Senior Software Development Engineer Algorithm - 0of 0 votes

AnswerSolve the 24 Game

- aonecoding August 14, 2017 in United States| Report Duplicate | Flag | PURGE

Twitter Software Engineer Algorithm - 3of 3 votes

AnswersRound4

- aonecoding August 09, 2017 in United States

Starting from num = 0, add 2^i (where i can be any non-negative integer) to num until num == N. Print all paths of how num turns from 0 to N.

For example if N = 4,

Paths printed are [0,1,2,3,4], [0,1,2,4], [0,1,3,4], [0,2,4], [0,2,3,4], [0,4].

[0,2,4] is made from 0 + 2^1 + 2^1. [0,1,3,4] from 0 + 2^0 + 2^1 + 2^0| Report Duplicate | Flag | PURGE

Google Software Engineer Algorithm - 2of 2 votes

AnswersRound3

- aonecoding August 09, 2017 in United States

For N light bulbs, implement two methods

I. isOn(int i) - find if the ith bulb is on or off.

II. toggle(int start, int end)| Report Duplicate | Flag | PURGE

Google Software Engineer Algorithm - 2of 2 votes

AnswersRound1

- aonecoding August 09, 2017 in United States

Find if two people in a family tree are blood-related.

Round2

Given some nodes in a singly linked list, how many groups of consecutively connected nodes there is.

For linked list

0->1->2->3->4->5->6,

given nodes 1, 3, 5, 6

there are 3 groups [1], [3], and [5, 6].| Report Duplicate | Flag | PURGE

Google Software Engineer Algorithm - -1of 1 vote

Answerscount number of combinations which are not possible.

- bit32413 August 05, 2017 in United States

There are 'n' empty slots.

A slot can be filled with 'O', 'E', or 'X'

A combination is possible if

1. 'O' s are placed in odd slot , 'E' a are placed in even slots.

2. 'O' and 'E' alternate among them,

i.e (OXOE) not allowed because between O s there is no 'E'; but (OEXXO) is allowed.

some allowed combinations

OEXXX, XXOEO, OXXEX

For 3 slots, not allowed combinations are

OXX

XXO

XEX

XXX

OXO

Only those combinations are considered in which O s and E s are in their respective odd and even slots.

i.e EEXXX will never be considered because a 'E' is in odd slot

A combination isn't allowed if 'O' is not followed by 'E' or vice versa| Report Duplicate | Flag | PURGE

Google SDE-2 Algorithm - 1of 1 vote

AnswersGiven a sorted distinct array of integers and a key K. C closest elements to K are in range [L,R] inclusive, L<=R. Return L as the left index of C closest elements to K.

- anonymous August 04, 2017 in United States

For example:

A = [1, 2, 5, 8, 9, 13]. K = 8 and C = 4. The result L = 3 because 4 closest elements to 8 are [5, 8, 9, 13]| Report Duplicate | Flag | PURGE

Google Intern Algorithm - 0of 0 votes

AnswersGiven a tree print in level zig-zag order.

- tnutty2k8 August 03, 2017 in United States`Example suppose we have the given tree structure: 1 2 3 4 5 6 it should print: 1 3 2 4 5 6 First level prints left to right. Then next level prints right to left. Alternating for each level. Assume the following node structure: Node { data: Integer, left: Node, right: Node, parent: Node, }`

| Report Duplicate | Flag | PURGE

Algorithm - 1of 1 vote

AnswersRound 5:

- aonecoding August 03, 2017 in United States

Given a set of synonyms such as (fast, quick), (fast, speedy), (learn, study), decides if two sentences were synonymous.

(The sentences were structurally the same and has the same number of words in them.

The synonymous relation [fast ~ quick] and [fast ~ speedy] does not necessarily mean [quick ~ speedy].)

Follow-up:

If the synonymous relation passes down so that [fast ~ quick] and [fast ~ speedy] implies [quick ~ speedy], decide if two sentences were synonymous.| Report Duplicate | Flag | PURGE

Google Software Engineer Algorithm - 1of 1 vote

AnswersRound 4:

- aonecoding August 03, 2017 in United States

Implement a class Employment with these 3 methods: assignManager(p1, p2): assign p1 as p2's manager. beColleague(p1, p2): make p1 and p2 peer colleagues. isManager((p1, p2): decide if p1 is the manager of p2.| Report Duplicate | Flag | PURGE

Google Software Engineer Algorithm - 2of 2 votes

AnswersRound 3

- aonecoding August 03, 2017 in United States

Given a matrix of 0s and 1s where 0 is wall and 1 is pathway, print the shortest path from the first row to the last row.

Can walk to the left, top, right, bottom at any given spot.

Follow-up:

If every pathway takes a cost (positive integer) to get through, print the minimum cost path from the first row to the last row.| Report Duplicate | Flag | PURGE

Google Software Engineer Algorithm - 1of 1 vote

AnswersGoogle on-site June

- aonecoding August 03, 2017 in United States

Round 1

Leetcode 10

Round 2

Select a random point uniformly within a rectangle, (The side of rectangle is parallel to the x/ y grid).

Follow-up: Given multiple non-overlapped rectangles on the 2D grid, uniformly select a random point from the rectangles.| Report Duplicate | Flag | PURGE

Google Software Engineer Algorithm - 0of 0 votes

AnswersCompress String with character and its count.

- tnutty2k8 July 31, 2017 in United States

Example: "aaabbba" -> compress -> "a3b3a1”| Report Duplicate | Flag | PURGE

Web Developer Algorithm - 2of 2 votes

AnswersPhone Interview Amazon, Seattle

- aonecoding July 28, 2017 in United States

I. Get the sum of all prime numbers up to N. primeSum(N).

Follow-up: If primeSum(N) is frequently called, how to optimize it.

II. OODesign Parking Lot| Report Duplicate | Flag | PURGE

Amazon Software Engineer Algorithm - 2of 2 votes

AnswersApple Map Team

- aonecoding July 25, 2017 in United States

1. Given an array A and some queries, query(i, j) returns the result of Ai*...*Aj, in other words the multiplication from Ai to Aj.

The numbers in A are non-negative.

Implement query(i, j).

2. Flatten nested linked list

3. POI search design

4. LC238 & LC279| Report Duplicate | Flag | PURGE

Apple Software Engineer Algorithm - 1of 1 vote

AnswersAirbnb Interview

- aonecoding July 25, 2017 in United States

Min cost of flight from start to end if allowed at most k transfers.

Given all the flights in a string:

A->B,100,

B->C,100,

A->C,500,

If k = 1，from A to C the best route is A->B->C at the cost of 200.| Report Duplicate | Flag | PURGE

Airbnb Algorithm - 2of 2 votes

AnswersYou are given an old touch smartphone numbers having dial pad and calculator app.

- neovivek14 July 23, 2017 in United States

Aim: The goal is to type a number on dialpad.

But as phone is old, some of the numbers and some operations can't be touched.

For eg. 2,3,5,9 keys are not responding , i.e you cannot use them

But you can always make a number using other numbers and operations in Calculator. There could be multiple ways of making a number

.Calculator have 1-9 and +,-,*,/,= as operations. Once you have made the number in Calculator you can copy the number and use it.

You have to find minimum number to touches required to obtain a number.

#Input:#

There will be multiple Test cases .Each test case will consist of 4 lines

1) First line will consist of N,M,O

N: no of keys working in Dialpad (out of 0,1,2,3,4,5,6,7,8,9)

M:types of operations supported (+,-,*,/)

O: Max no of touches allowed

2) second line of input contains the digits that are working e.g 0,2,3,4,6.

3) Third line contains the valued describing operations, 1(+),2(-),3(*),4(/)

4) fourth line contains the number that we want to make .

#Output:#

Output contains 1 line printing the number of touches required to make the number

#Sample Test Case:#

1 // No of test cases

5 3 5 // N ,M, O

1 2 4 6 0 // digits that are working (total number of digits = N),

1 2 3 // describing operations allowed (1--> '+', 2--> '-', 3--> '*' , 4--> '/' )(total number is equals to M)

5 // number we want to make

Answer 3

How 4? 1+4= , "=" is also counted as a touch

2nd Sample Case

3 // No of Test cases

6 4 5 // N ,M, O

1 2 4 6 9 8 // digits that are working (total number of digits = N),

1 2 3 4 // describing operations allowed (1--> +, 2--> -, 3--> , 4-->/)

91 // number we want to make

6 2 4 // 2nd test case

0 1 3 5 7 9

1 2 4 // +, -, / allowed here

28

5 2 10

1 2 6 7 8

2 3 // -, allowed

981

#Output:#

2 // 91 can be made by directly entering 91 as 1,9 digits are working, so only 2 operations

5// 35-7=, other ways are 1+3*7=

9//62*16-11=

Order for computation will be followed as symbols entered, if + comes, it will be computed first

One more example: lets say 1,4,6,7,8,9 works and +,-,* works.

2,3,5 and / doesn't work.

If you have to type 18-> 2 operations. (Each touch is considered an operation),br> If you have to type 5 -> '1+4=' that requires 4 operations. There could be other ways to make '5'.| Report Duplicate | Flag | PURGE

Samsung Software Engineer Algorithm

**CareerCup**is the world's biggest and best source for software engineering interview preparation. See all our resources.

Open Chat in New Window