#Etc

leetcode 395. Longest Substring with At Least K Repeating Characters

395.LongestSubstringwithAtLeastKRepeatingCharactershttps://www.cnblogs.com/grandyang/p/5852352.html题目的要求是找一段字符串,这段字符串中每个单词出现的次数都必须至少超过k次,求满足这种条件的字符串的最长的长度。暴力的方法...

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

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

leetcode 380. Insert Delete GetRandom O(1) 、381. Insert Delete GetRandom O(1)

380.InsertDeleteGetRandomO(1)实现插入、删除、获得随机数功能,且时间复杂度都在O(1)。实际上在插入、删除两个功能中都包含了查找功能,当然查找也必须是O(1)。数组可以实现插入、删除、获得随机数O(1),但查找就不行了。(当然对于数组,直接删除的时间复杂度不是O(1),因为可能需要移动)ha...

leetcode 384. Shuffle an Array

384. ShuffleanArrayc++random函数:https://www.jb51.net/article/124108.htmrand()不需要参数,它会返回一个从0到最大随机数的任意整数,最大随机数的大小通常是固定的一个大整数。这样,如果你要产生0~10的10个整数,可以表达为:intN=ra...

贪心:leetcode 870. Advantage Shuffle、134. Gas Station、452. Minimum Number of Arrows to Burst Balloons、316. Remove Duplicate Letters

870.AdvantageShuffle思路:A数组的最大值大于B的最大值,就拿这个A跟B比较;如果不大于,就拿最小值跟B比较A可以改变顺序,但B的顺序不能改变,只能通过容器来获得由大到小的顺序,并且必须存储相应的index,因为最终需要将选择的A的数值存入与这个B相对应的index下classSolution{pub...

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...

leetcode 874. Walking Robot Simulation

874.WalkingRobotSimulationhttps://www.cnblogs.com/grandyang/p/10800993.html每走一步(不是没走commands里的一个数字)计算到原点的距离,每走一步都可能遇到障碍物,需要将障碍物的坐标进行存储,以判断是否停止行走。左转90度,右转90度转换成在...

leetcode 149. Max Points on a Line

149.MaxPointsonaLinehttps://www.cnblogs.com/grandyang/p/4579693.html斜率需要考虑分母为0的情况。具体需要考虑两种特殊情况:一是在x相等的时候,斜率是无穷大;二是与当前节点完全相同的时候。解法一:用hash-map存储斜率和斜率出现的次数,其中dupli...
代码星球 ·2020-10-13

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 91. Decode Ways

91.DecodeWayshttps://www.cnblogs.com/grandyang/p/4313384.html当前位置只可能来自前一个位置和前两个位置的dp,来自前一个位置的话,当前的数字不能是0;来自前两个位置,必须是1到26之间classSolution{public:intnumDecodings(s...
代码星球 ·2020-10-13

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

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

leetcode 328. Odd Even Linked List

328.OddEvenLinkedList自己最开始的思路:用两个指针分别指向奇偶位置,然后交换两个的数值,然后奇的指针前进两格,偶的指针前进一格,但是这样出来的结果会造成原本偶位置的数之间的顺序打乱正确的思路:也是用奇偶指针,但是是将偶后面的链表节点移动到奇后面,这样不发生顺序的变换。当前的两个指针分别指向当前排好的...

leetcode 138. Copy List with Random Pointer

138.CopyListwithRandomPointer分三步:1.在原有list每个节点的后面增加与原节点值相同的节点    2.在这些新生成的节点中增加随机节点    3.将原有的节点和新生成的节点进行分离注意:if(cur->random)randNode=cur->random->next;...

leetcode 143. Reorder List 、86. Partition List

143. ReorderListhttps://www.cnblogs.com/grandyang/p/4254860.html先将list的前半段和后半段分开,然后后半段进行逆序,然后再连接classSolution{public:voidreorderList(ListNode*head){if(head...
首页上一页...2728293031...下一页尾页