#LintCode

排颜色问题——数组 leetcode lintcode

给一个数组,而且数组里面元素的值仅仅可能是0,1,2,然后如今把这个数组排序。第二种表述: 现有n个红白蓝三种不同颜色的小球,乱序排列在一起,请通过两两交换随意两个球,使得从左至右,依次是一些红球、一些白球、一些蓝球。採用高速排序partition的思想,用两个指针将三种颜色间隔开。以下引用此处内容 ...

leetcode 542. 01 Matrix 、663. Walls and Gates(lintcode) 、773. Sliding Puzzle 、803. Shortest Distance from All Buildings

542.01Matrixhttps://www.cnblogs.com/grandyang/p/6602288.html将所有的1置为INT_MAX,然后用所有的0去更新原本位置为1的值。最短距离肯定使用bfs。每次更新了值的地方还要再加入队列中。classSolution{public:vector<vecto...

leetcode 611. Valid Triangle Number 、259. 3Sum Smaller(lintcode 918. 3Sum Smaller)

这两个题几乎一样,只是说611.ValidTriangleNumber满足大于条件,259.3SumSmaller满足小于条件,两者都是先排序,然后用双指针的方式。 611.ValidTriangleNumber判断这个数组能组成三角形的个数,利用两边之和大于第三边https://www.cnblogs.co...

lintcode 787. The Maze 、788. The Maze II 、

787.TheMazehttps://www.cnblogs.com/grandyang/p/6381458.html与numberofisland不一样,递归的函数返回值是bool,不是void。maze=-1用来表示已经访问的节点。dp用来记录每个位置的是否能访问,如果dp!=-1,就表示这个地方已经访问过了,可以...
代码星球 ·2020-10-13

leetcode 293.Flip Game(lintcode 914) 、294.Flip Game II(lintcode 913)

914.FlipGamehttps://www.cnblogs.com/grandyang/p/5224896.html从前到后遍历,遇到连续两个'+',就将两个加号变成'-'组成新的字符串加入到结果中。classSolution{public:vector<string>generatePossibleN...

lintcode 394. Coins in a Line 、leetcode 292. Nim Game 、lintcode 395. Coins in a Line II

变型:如果是最后拿走所有石子那个人输,则f[0]=true394. CoinsinaLinedp[n]表示n个石子,先手的人,是必胜还是必输。拿1个石子,2个石子之后都是必胜,则当前必败;拿1个石子,2个石子之后都是必败,则当前必胜;如果拿1个石子,2个石子之后有必败,则当前必胜。 classSol...
代码星球 ·2020-10-13

leetcode 361.Bomb Enemy(lintcode 553. Bomb Enemy)

dp分别计算从左到右、从右到左、从上到下、从下到上4个方向可能的值,然后计算所有为‘0’的地方的4个方向的值的最大值 https://www.cnblogs.com/grandyang/p/5599289.htmlclassSolution{public:/***@paramgrid:Givena2Dgrid...

leetcode 290. Word Pattern 、lintcode 829. Word Pattern II

290.WordPattern istringstream是将字符串变成字符串迭代器一样,将字符串流在依次拿出,比较好的是,它不会将空格作为流,这样就实现了字符串的空格切割。C++引入了ostringstream、istringstream、stringstream这三个类,要使用他们创建对象就必须包含sst...

lintcode 515. Paint House

PaintHouse 自己的写法:classSolution{public:/***@paramcosts:nx3costmatrix*@return:Aninteger,theminimumcosttopaintallhouses*/intminCost(vector<vector<int>...
代码星球 ·2020-10-13

leetcode 560. Subarray Sum Equals K 、523. Continuous Subarray Sum、 325.Maximum Size Subarray Sum Equals k(lintcode 911)

整体上3个题都是求subarray,都是同一个思想,通过累加,然后判断和目标k值之间的关系,然后查看之前子数组的累加和。map的存储:560题是存储的当前的累加和与个数      561题是存储的当前累加和的余数与第一次出现这个余数的位置      325题存储的是当前累加和与第一次出现这个和的位置其实561与325都...

剑指offer 最小的k个数 、 leetcode 215. Kth Largest Element in an Array 、lintcode 80. Median、295. Find Median from Data Stream(剑指 数据流中位数) topK

  注意multiset的一个bug:multiset带一个参数的erase函数原型有两种。一是传递一个元素值,如上面例子代码中,这时候删除的是集合中所有值等于输入值的元素,并且返回删除的元素个数;另外一种是传递一个指向某个元素的iterator,这时候删除的就是这个对应的元素,无返回值。https...

lintcode 77.Longest Common Subsequence(最长公共子序列)、79. Longest Common Substring(最长公共子串)

LongestCommonSubsequence最长公共子序列:每个dp位置表示的是第i、j个字母的最长公共子序列classSolution{public:intfindLength(vector<int>&A,vector<int>&B){intlen1=A.size();in...

k sum(lintcode)

没通过的代码:classSolution{public:/**@paramA:Anintegerarray*@paramk:Apositiveinteger(k<=length(A))*@paramtarget:Aninteger*@return:Aninteger*/intkSum(vector<int&...
代码星球 ·2020-10-13

背包问题2 (lintcode)

这里:for(intj=1;j<=m;j++)result[0][j]=0x80000000;不能从0开始,result[0][0]是可以取到的,是0。其他情况取不到才用最小表示。classSolution{public:/**@paramm:Anintegermdenotesthesizeofabackpack...
代码星球 ·2020-10-13

92.背包问题(lintcode)

注意j-A[i-1]必须大于等于0,只大于0会报错classSolution{public:/***@paramm:Anintegermdenotesthesizeofabackpack*@paramA:GivennitemswithsizeA[i]*@return:Themaximumsize*/intbackPac...
代码星球 ·2020-10-13
首页上一页12下一页尾页