CodeSignalOA
CodeSignal Algorithm Problems
Tech In Pieces
这个作者很懒,什么都没留下…
展开
-
038 Divisible Subsequences
given an integer n, represent the number we are gonna use latergiven an integer k, represents the length of subarraynow, how many subarray of n with length k can be divisible to 3?原创 2020-12-23 10:26:18 · 643 阅读 · 0 评论 -
041 Array Shift
原创 2020-12-23 10:24:28 · 506 阅读 · 0 评论 -
040 Count Str Element Count Odd Zeros
iterate原创 2020-12-23 10:24:05 · 311 阅读 · 0 评论 -
037 Boolean Deque
given an integer n, represents the length of a binary string a, initialized with 0sand we are also given an array called operations, it contains strings of one of the following two:“L” - find the first 0 starting form the left, reassign it with 1C{index原创 2020-12-23 10:23:34 · 1315 阅读 · 0 评论 -
017 Vowels match
given an string s. and another string called pattern,for example, s = amazing pattern=“010”0 means there should be vowel and 1 means there is notcalculate the number of substring of s that meets the given pattern.return the number.note: a e i o u y co原创 2020-12-22 01:44:26 · 293 阅读 · 0 评论 -
023 Given an integer n. get the number of 0, 2, 4 from all the values from [0, n]
I believe I used to saw something like this in leetcode.not exactly the same, but pretty much.原创 2020-12-22 01:42:41 · 378 阅读 · 0 评论 -
016 countSawSubarrays
given an array of integers, find the number of contiguous subarrays that represents a sawtooth sequence of at least two elements.it reminds me of the problem of the swing array.原创 2020-12-22 01:42:07 · 1174 阅读 · 0 评论 -
015 New Text Editor
we are given a array of queries.we have five kind of queries: Insert, Delete, copy, paste, undo原创 2020-12-22 01:41:47 · 683 阅读 · 0 评论 -
013 Three Div Sequences
we are given a string called number, which represents an integer.now we need to get the number of substrings that can be divisible by 3.pay attention: the substring must can’t have leading zero unless it’s just zero.of course we can do this in brute for原创 2020-12-22 01:40:59 · 306 阅读 · 0 评论 -
010 Operation array [0, a, b] and [1, a, b]
given an array of operations:every operation is like [0, a, b] or [1, a, b][0, a, b] means create a rectangle ab[1, a, b] is query, that asks us: could every rectangle we save is smaller than(or in other words, fit in) the dimension given here(ab)?we r原创 2020-12-22 01:40:40 · 398 阅读 · 0 评论 -
008 Prefix Palindrome
implement the following algorithm:get the longest prefix of given string s, who is also a palindrome.if the prefix we choose has at least two characters, we cut this prefix from s, and update s. repeat step oneso in all, this means, keep doing this algo原创 2020-12-22 01:40:18 · 333 阅读 · 0 评论 -
007 Digit Anagrams
Given an array of integers a, count the number of pairs i and j, such that a[i] and a[j] are digit anagrams.and I don’t need to explain what a anagram is.first, we need to check the number of pairs in this array, which, of course, are a.length*(a.length原创 2020-12-22 01:39:54 · 476 阅读 · 0 评论 -
003 给一个mxn的地图。然后车子只能往右走。然后地图里有不能走的block, 还有可以从a点直接传送到b点的传送器。问车子是否可以从左上角走到右下角
this is like those classic problems like warrior can rescue princess or not. or those classic dp problems about how many ways from top left to bottom right.原创 2020-12-22 01:39:30 · 472 阅读 · 0 评论 -
047 Digit Anagrams
Given an array of integers, a, count the number of pairs of i and j such that a[i] and a[j] are digit anagrams.idea: for each integer, make it to charArray and sort it, and store them in hashmap, for every key that its corresponding value larger than 1(me原创 2020-10-09 05:06:49 · 430 阅读 · 0 评论 -
046 minimize diff (abs) of Ai and Bi elements by replacing an Ai
就是对于每个b_i来说都去找离它最近的那个a_k,然后gain_i就是|b_i - a_i| - |b_i - a_k|,意为如果替换当前的b对应的a能达到的最大收益。找到最大的gain,sum(diff)减去其即可。我用了二分去找离b_i最近的a_k,不清楚如果直接找会不会超时,不妨试试。public int findminAbs(int[] a, int[] b) { int res = 0; //for every bi, we need to find the cloasest in .原创 2020-10-09 04:43:08 · 324 阅读 · 0 评论 -
045 将二维邻接表输入还原成一维的图(一维数组)
for example:input: [[6, 5], [2, 3], [4, 3], [4, 5], [1, 2]]output: [1, 2, 3, 4, 5, 6] or [6,5,4,3,2,1]类似拓扑排序,用一个map保存每个点和他的邻接列表,那么 入度为0的点要么是一维数组的头要么是尾。从这个点开始,遍历map或者遍历二维数组 就完事了public int[] adjArrayto1dArray(int[][] edges) { HashMap<Integer, Intege原创 2020-10-09 03:06:24 · 359 阅读 · 0 评论 -
044 Figure Under Gravity
Python Version:def figureEnderGravity(matrix): if not matrix or not matrix[0]: return matrix m, n = len(matrix), len(matrix[0]) minstep = sys.maxsize for j in range(n): i = 0 while i < m: while i <.原创 2020-10-09 02:40:19 · 2447 阅读 · 4 评论 -
043 Rotate and Fall
similar to leetcode move zeros.move zeros: given an integer array contains 0s, move all 0s to the right part of this array, while moving, maintain the relative order of other non zero elements.class Solution { public void moveZeroes(int[] nums) {原创 2020-10-08 12:19:58 · 441 阅读 · 0 评论 -
042 Add K Group Sum Until Sum Length Smaller Than K
Python version of code, it can be easily changed into javadef addKGroupSumUntilSumLengthSmallerThanK(inputstr, k): curstr = inputstr while len(curstr) > k: group = len(curstr) // k if len(curstr) % k != 0: group ..原创 2020-10-08 11:52:39 · 207 阅读 · 0 评论 -
039 Reverse Sum
public int reverseSum(int[] numbers) { int res = 0; for (int number: numbers) { char[] num = number.toCharArray(); int i = 0; int j = num.length - 1; while (number[j] == '0') { j--; } while (i <= j) { //swap the .原创 2020-10-08 11:25:36 · 188 阅读 · 0 评论 -
036 Three Chars Distinct
given a string s, find out all the substring of this string with length equals to 3 that all of its three chars are distinct.get the number of substring that meets the requirements. return the value.this problem is pretty straight forward too.but I’m th原创 2020-12-19 07:19:43 · 274 阅读 · 0 评论 -
035 Divide SubString
given a number n and a length know we need to know that from all the substring of number n with length of k, how many of these can be divisible by n.return the number of substrings that meets the requirement.it’s very straight forward.public int divide原创 2020-12-23 10:23:14 · 217 阅读 · 0 评论 -
034 Rotate Over Diagonls
the picture above is the process of rotating.codes in java:public class rotateOverDigonals { public rotateOverDigonals() { } public void solution(int[][] matrix, int k) { if (matrix.length != 0 && matrix != null) { .原创 2020-10-07 05:10:41 · 355 阅读 · 0 评论 -
033 Shuffle The Pieces
given two arrays, arr and piecesarr is a one dimension arrayand pieces is a higher dimension array.example:arr: [1,2,5,3]pieces = [[5],[1,2],[3]]and we need to write a function to check whether if we only all the pieces can we form an original arr.p原创 2020-10-07 05:05:17 · 360 阅读 · 0 评论 -
032 Pythagorean Triplet
test if any consecutive triplet can form the length of edges that combines as a Pythagorean.this problem is so simple that i don’t even needs to provide answers here. just iterate all whole array原创 2020-10-07 04:24:30 · 270 阅读 · 0 评论 -
031 Max Arithmetic Length(Hard, not understand at all)
given two arrays a and b, they contains no duplicated and it is sorted.now the rules are:we can pick any elements from b, and all the picked elements, we need to insert them in a such that all the elements in a are increasing in by certain number, like a原创 2020-10-07 04:18:44 · 320 阅读 · 1 评论 -
030 Rotate diagnol
The problem describes it in a subtle way, so it’s better to just give answers:more detailed explainations will be showed laterpublic class rotatediagnol { public void solution(int[][] matrix, int k){ if(matrix == null || matrix.length == 0) r原创 2020-10-07 04:01:13 · 242 阅读 · 0 评论 -
029 Cool Feature
this problem is relatively simple.Given two integer arrays, a and b, as the data needs to be queried.and given an array of queries, each query maybe one of the two forms below:modify query: [0, i, x] means we need to assign b[i] with the value of x. do原创 2020-10-07 03:49:05 · 525 阅读 · 0 评论 -
028 Max Revenue From Stock
we are given an array of integers, stock. represents the prices.and we are given another array called algo, represents for the actions we need to take everyday. and in this array, we have 0 and 1 in this array originally, 0 means buy and 1 means sell.now原创 2020-10-07 03:24:22 · 371 阅读 · 0 评论 -
027Min Peak
we are given an array of positive integers, called “numbers”.now our task is to consecutively remove the minimal peaks of the given array one by one, and then return an array that contains the removed data in its removal order.remember, we will keep this原创 2020-10-07 02:56:46 · 386 阅读 · 0 评论 -
026 Power Two(pairSummingToPowerOfTwo)
Give a array of integers, find all the pairs that the sum of them is the power of 2.find out all the possible pairs. and if there is any duplicates, then count them as the new one.using unordered mappublic long pairSummingToPowerOfTwo(vector<int>原创 2020-10-07 02:36:09 · 416 阅读 · 0 评论 -
025 Bounce Matrix
public class matrixBounce { public int[] solution(int[][] matrix){ int n = matrix.length; int[] res = new int[n-1]; for(int i=1; i<n; i++){ int row = i; int col = 0; int sum = 0; .原创 2020-10-07 02:20:40 · 245 阅读 · 0 评论 -
024 Concate Swaps
we can have a split the s into string array. and we swap it. and then use a stringbuilder to rebuild them and return.simple but effective.原创 2020-09-29 12:19:58 · 218 阅读 · 0 评论 -
022 Plus/subtract Number
given an integer.-±±+all the digits, get the final results.we can get the digits one by one, add it to list. (list.add(list.size() - 1, digit));and then we -±+ them, return the results.原创 2020-09-29 12:03:40 · 221 阅读 · 0 评论 -
021 Black White Sort Matrix
now we are given a matrix full of positive integers.and an array of queries are also given, the format of the query is: [x, y, m], it represent we need to sort a submatrix with dimension of m*m, the left-top corner is [x,y].so we keep doing that until al原创 2020-09-29 11:58:24 · 338 阅读 · 0 评论 -
020 K occourrence
given a string word, a string sequenceif word only happens in sequence once consecutively, then we call it 1 occourrence .like word = “ab” and sequence = “dabcacab”, then it is a 1-occurrence.now we are given a sequence and a bunch of words(queries), ch原创 2020-09-29 11:33:47 · 295 阅读 · 0 评论 -
019 Check ABC(longest subarray check)
we are given three array of integers.let say a, b and cc is an array with distinct integers.now we need to check whether b is the longest subarray of a consisting only of elements from c.the means:each element of b must belongs to cb is a subarray of原创 2020-09-29 10:43:58 · 399 阅读 · 0 评论 -
017 isZigZag
given an array, for each triplet, return if it is zigzag or not, and return them as the an array. 1 is zigzag 0 is not.public class zigzagArray { public zigzagArray() { } public boolean[] solution(int[] array) { int n = array.length;原创 2020-09-29 09:15:43 · 353 阅读 · 0 评论 -
014 Matrix Queries
given a matrix, n * mthe value of each position of this matrix is board[i][j] = (i+1)(j+1)now we have some queries.[0] find the minimum values among all the remaining active cells on board.[1, i] deactivate all the cells in row i[2, j] deactivate all原创 2020-09-29 08:32:35 · 477 阅读 · 0 评论 -
012 Border Sort
given a nn matrix full of integers.now we know matrix has many layers, so for nn, we have n/2 layers.now, we need to sort each layer, and relocate them clockwise, starting from the top left position.idea: of course we can get every element for each laye原创 2020-09-29 05:52:50 · 530 阅读 · 0 评论