*[codility]MissingInteger】的更多相关文章

今天开始刷刷codility上respectable的题目,难度适中. https://codility.com/demo/take-sample-test/missing_integer 本题是找出数组里第一个非负的整数,要求复杂度O(n).那么首先想到的做法是排序,但这样负责度就上去了.要从nlogn降到n,常见的一个做法是用hashtable,这里就可以用set记录.要注意的是全负的情况,所以这里用了maxVal=0作为初值. #include <unordered_set> using…
Task description: This is a demo task. Write a function: that, given an array A of N integers, returns the smallest positive integer (greater than 0) that does not occur in A. For example, given A = [1, 3, 6, 4, 1, 2], the function should return 5. G…
1.题目: A game for one player is played on a board consisting of N consecutive squares, numbered from 0 to N − 1. There is a number written on each square. A non-empty zero-indexed array A of N integers contains the numbers written on the squares. More…
How to solve this HARD issue 1. Problem: A non-empty zero-indexed array A consisting of N integers is given. A peak is an array element which is larger than its neighbours. More precisely, it is an index P such that 0 < P < N − 1 and A[P − 1] < A…
首先上题目: A DNA sequence can be represented as a string consisting of the letters A, C, G and T, which correspond to the types of successive nucleotides in the sequence. Each nucleotide has an impact factor, which is an integer. Nucleotides of types A,…
https://codility.com/demo/take-sample-test/peaks http://blog.csdn.net/caopengcs/article/details/17491791 其实可以做到O(n) #include <iostream> #include <sstream> using namespace std; int solution(vector<int> &A) { int n = A.size(); int prev…
https://codility.com/programmers/challenges/fluorum2014 http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1273 http://blog.csdn.net/caopengcs/article/details/36872627 http://www.quora.com/How-do-I-determine-the-order-of-visiting-all-leave…
https://codility.com/programmers/challenges/magnesium2014 图形上的DP,先按照路径长度排序,然后依次遍历,状态是使用到当前路径为止的情况:每个节点记录以该节点结束的最长路径,这样加入新的路径时去更新.注意路径是双向的~ #include <vector> #include <algorithm> using namespace std; struct Road { int start; int end; int val; }…
https://codility.com/demo/take-sample-test/max_double_slice_sum 两个最大子段和相拼接,从前和从后都扫一遍.注意其中一段可以为0.还有最后和最前面一个不可能取到~ #include <vector> using namespace std; int solution(vector<int> &A) { vector<int> maxEnd; maxEnd.resize(A.size()); maxEn…
https://codility.com/demo/take-sample-test/fish 一开始习惯性使用单调栈,后来发现一个普通栈就可以了. #include <stack> using namespace std; int solution(vector<int> &A, vector<int> &B) { int size = A.size(); int deadNum = 0; stack<int> stk; // downst…