## SDE1 Interview Questions

- 0of 0 votes
You have been given a generator string ab from which any number of strings can be generated recursively by inserting ‘ab’ at any location. You have been given an input string to check if that given string is valid or not.(i.e. generated by given with given string.)

eg.

Input: aabbab

Output: valid

Input: abbaab

Output: Invalid

I could not come up with a algorithm less than O(N*N)

- 0of 0 votes
Given a multiple tree, and multiple nodes that need to be deleted,

It is required to return a list of nodes so that the children of these nodes can be found after the nodes have been deleted.

- 0of 0 votes
Gives you an int m, and a set of char (0,1,2,3,4,5,6,7,8,9)

Lets you implement a function that generates a id based on the characters in the set. Each time you return a string, it must be unique. satisfying the same character can not appear consecutively more than m times, such as m = 3, "1000" is valid,

"0000" is not valid.

The smaller the string, the better.

- 1of 1 vote
Let’s say you have two input arrays with sorted elements. Find the union.

a[] = {2, 10, 14, 19, 51, 71}

b[] = {2, 9, 19, 40, 51}

Union = {2, 9, 10, 14, 19, 40, 51}

- 0of 0 votes
A group of friends are tracking the miles per gallon for each of their cars. Each time one of them fills up their gas tank, they record the following in a file: His or her name The type of car they drove How many miles driven since they last filled up How many gallons purchased at this fill up Date of the fill Their data is formatted as a comma separate value (csv) file with the following format for each row:(#person,carName,milesDriven,gallonsFilled,fillupDate) Miles are recorded as floating-point numbers and gallons as integers. Please create a program that allows members of this group to determine the miles per gallon (MPG) of each of their cars during a specific time range. Note: person may have more than one so a time range query might need to output data for one or more cars. A skeleton class will be provided; your job will be to complete the program. The principal function for querying MPG is of the form (the exact name, data types, etc., can be learned by inspecting the "solution" class in the skeleton code): GetRangeMPG(PersonName, StartDate, EndDate) Returns list of objects containing (CarName, MPG) MPG is calculated as (total miles traveled during time period)/ (total gallons filled during time period. The dates you receive in the query should be treated inclusively.

- 0of 0 votes
To push dominoes, find out how many dominoes are standing in the end

For example, the input is ".R...RL..R..L..", which means pushing the 2nd, 6th, and 12th dominoes to the right and pushing the 8th and 15th dominoes to the left. This example returns 4th. 1,7,16,17 blocks are standing

- 0of 0 votes
The question is that there are a lot of vm, what is the total vm consumption max. For example, (2,4,8), (3,5,3) this input,

This means that 2 to 4 seconds have a memory usage of 8 and 3 to 5 seconds of 3, so the answer is 11 at 3 seconds.

Return 11 to it. Note that (1,2,3) and (2,3,4) such that the middle 3+4=7 is good.

Follow up is usage is not constant, such as (1,2,1,2) the first second usage is 1,

The second second is 2, the linear increase, the highest is how much.

- 0of 0 votes
Given as list of movies in a csv file, extract the movie name and genre and be able to return a query based on the years and the genre.

Basically, Parsing a CSV input file and build an indexed data storage to allow search the data in time manner.

- 0of 0 votes
Given a list of tasks each with memory requirements and time, only one machine has K memory.

Do not consider the context switch, page swap, virtual memory, (for example, the machine has only 20mb memory, a task that requires 25MB of the task can only wait until there is enough memory to run it.) The running task cannot be suspended.

Ask how long it takes to complete all these tasks. . .

- 1of 1 vote
How many squares are inside a m*n rectangle where some grids in the rectangle were grey and the gray grid could not appear in the small squares.

- 1of 1 vote
Given an int array, check if all the numbers can be divided into 5 consecutive numbers.

Eg: [1,2,2,3,3,4,4,5,5,6] Yes: (1,2,3,4,5) (2,3,4,5,6)

Followup: ask if you know that all the numbers are between 1 and 13,

what's a good optimization.

- 1of 1 vote
You have two matrixs, how to move the first matrix

(move up, down, left, and right) so that the two matrix in the two matrixs match most.`eg: matrix 1: matrix 2: 0 0 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 0`

Then, after taking matrix1 (1 left shift + 1 down),

the number of 1 in the match with matrix2 is 3

- 0of 0 votes
how to check if two graphs are structurally identical

class UndirectedGraphNode {

List<UndirectedGraphNode> neighbors;

UndirectedGraphNode() {

neighbors = new ArrayList<>();

}

}

- 1of 1 vote
convert a Sorted array to complete BST

- 0of 0 votes
Give a connected graph, no cycle,

Find the node where the average distance from all other nodes is the smallest

- 0of 0 votes
Input: an int array without sorting, then do a binary search on it, and find the number of digits that cannot be found by binary search.

- 0of 0 votes
<key = "a"; val = "3"; depend_list = null;/>; <key = "b"; val = "a * a";

Depend_list = {a};/>; <key = "c"; val = "a * b"; depend_list = {a,b};/>;

Lets output a map<key, value>,a -> 3, b -> 9, c -> 27

Follow-up questions: Make a statistic for all keys and corresponding map entries with the same value.

- 0of 0 votes
Given an array, find an x such that all numbers less than x are equal to themselves. Numbers greater than it are equal to x, and all numbers add up to a target

For example, [1 3 5 7 9] target=24, answer is8. Because when x=8, the array has only 9>8, so 1+3+5+7+8=24 is the closest to the target.

- 0of 0 votes
Give an N-length array with only 0 and 1 inside

Requires to find the minimum number of conversions needed to convert the array to 0 before all 1.

The conversion is to change a 0 to 1 or a 1 to 0,

And the number of 0 and 1 in the converted array can be arbitrary.

Just find the minimum conversion step

- 0of 0 votes
Given list of schedules for different flights in a month, determine maximum number of flights that can be in the air anytime in that month.

Input : list of schedules for flights.- spread over a month.

output: a number - maximum flights that can be in the air

Assumptions: 1. All the given times are in a specific timezone( like GMT).

2. Given Schedules can be any time in the month

- 0of 0 votes
To an array and K, each element in the array can only move K positions to the left at most, no limit to the right, try to sort the array under the limit of K

a = [5, 2, 4, 3, 1], k = 2

Return [2, 3, 1, 4, 5]

- 0of 0 votes
Given a function rand32() (random number range 0-2**32-1) that randomly generates a 32-bit int, design a new random function:

Randn(n) generates a random distributed random number (0 - 2**n-1)

Rand3n(n) generates (0 - 3**n-1) the uniformly distributed random number

- 0of 0 votes
Topic: There is a set of coordinates. The original format of each coordinate is (1.3, 0.5). However, the comma and decimal point are gone. Only one string is left, allowing you to restore all possible combinations. For example, 123, possible (1, 23) (1, 2.3) (12, 3) (1.2, 3)

- 0of 0 votes
Implement a method to check if a n-ary tree is unival

class TreeNode {

int val;

List<TreeNode> children;

TreeNode(int val) {

this.val = val;

children = new ArrayList<>();

}

}

- 0of 0 votes
Given the length and width of a rectangle, how many ways can be used to go from the upper left corner to the upper right corner (each step can only go to the right, top right or bottom right):

-follow up 1: If three points in the rectangle must be visited, how many ways

-follow up 2: If you are given an point H, and the path must go down below the H point, how to do it

- 0of 0 votes
The thief has found himself a new place for his thievery again. There is only one entrance to this area, called the "root." Besides the root, each house has one and only one parent house. After a tour, the smart thief realized that "all houses in this place forms an n-nary tree". It will automatically contact the police if two directly-linked houses were broken into on the same night.

Determine the maximum amount of money the thief can rob tonight without alerting the police.

/**

* Definition for a n-ary tree node.

* public class TreeNode {

* int val;

* List<TreeNode> kids;

* }

*/

class Solution {

public int rob(TreeNode root) {

}

}

- 0of 0 votes
preorder Traversing a n-ary tree without using recurrsion

TreeNode<T> {

T val;

List<TreeNode> children;

}

- 0of 0 votes
Given two methods for the person class, one to find a dad and one to find a mother, using these two methods to achieve a method to determine whether the two people are related to blood, assuming a limited number of people.

- 0of 0 votes
Self-implemented data structures and methods, output all the heirs. To achieve birth (parent, name), dead (name), getAllSucession (). There is a king, you can use birth plus children, dead dead. The order of inheritance is the same as preorder except that this tree has multiple children.

- -1of 1 vote
Question 2: Given a number 'k', return the corresponding row, given the pattern:

k => output

0 => []

1 => ["0", "1", "8"]

2 => ["00", "11", "69", "96", "88"]

3 => ["000", "111", "101", "888", ...] // and so on ...