上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 22 下一页
摘要: 思路: 可以用hash_map存放一个string的元素并计数有几个,再遍历另一个string,查看hash_map有没有并且遍历到的这个字母的数量还有没有大于0,这样就能判断有没有相同和不同的字符并且数量相不相同了。 代码: class Solution { public: bool isAnag 阅读全文
posted @ 2021-04-11 14:06 Mrsdwang 阅读(29) 评论(0) 推荐(0) 编辑
摘要: 思路: 可以通过计数0,1,2的个数,然后按照个数直接个nums重新赋值覆盖原来的值即可。 class Solution { public: void sortColors(vector<int>& nums) { int n=nums.size(); if(n==1) return; int n0 阅读全文
posted @ 2021-04-10 14:37 Mrsdwang 阅读(47) 评论(0) 推荐(0) 编辑
摘要: 思路: 因为数组中可能有重叠的部分,而重叠的要求是 [L1,R1]和[L2,R2]相比 L2<=R1那么这两个数组就重叠。根据这个性质,我们能得到判断条件 如果R1<L2,那么我们就不用处理重叠,否则我们就需要取R1=max(R1,R2)。为什么是R1等于呢?因为我们默认[L1,R1]在存放结果的数 阅读全文
posted @ 2021-04-10 13:48 Mrsdwang 阅读(31) 评论(0) 推荐(0) 编辑
摘要: 思路: 如果一个数为丑数,那么自然会被2,3,5整除,最后得到1,那么我们一直循环判断n是否能被2,3,5其中一个整除,如果能 那么n=n/(2 or 3 or 5)。如果三个数都不能整除那么就返回false。如果循环结束还没有返回false,那么就直接返回true。 代码: class Solut 阅读全文
posted @ 2021-04-10 12:10 Mrsdwang 阅读(44) 评论(0) 推荐(0) 编辑
摘要: 思路: 首先是子序列,所以说并不一定要求是连续的序列满足摆动序列。同时题目要求的是最长摆动子序列的长度。 动态规划 那么我们可以考虑通过记录摆动的长度得到,什么是摆动的长度呢?我们可以用up和down两个变量来记录摆动的次数,如果前一个差为正数,当前差为负,那么就是遇到了一个down,模拟往下摆动。 阅读全文
posted @ 2021-04-09 20:27 Mrsdwang 阅读(47) 评论(0) 推荐(0) 编辑
摘要: 思路: 这道题需要找规律了,因为题目是求有多少种方案获得平衡数组,那么就需要遍历所有元素。 首先 对于删除元素的左侧是可以发现不受影响的,但删除元素的右侧元素下标会-1,整体向左侧移动一个单位,那么原来在奇数位置的元素就会变到偶数位。所以我们只需要得到右侧的元素的和即可。 我们定义 int left 阅读全文
posted @ 2021-04-09 19:18 Mrsdwang 阅读(39) 评论(0) 推荐(0) 编辑
摘要: 思路: 这道题虽然是困难,但和昨天的每日一题没区别,可以用二分秒了。 同样是利用二分的二段性,因为有重复的元素,所以找旋转点的时候去掉重复的元素,恢复二段性,然后剩下的就和昨天的代码一样了。 这个二段性真的理解太好用了,强烈推荐好好看看。 代码: class Solution { public: i 阅读全文
posted @ 2021-04-09 16:01 Mrsdwang 阅读(40) 评论(0) 推荐(0) 编辑
摘要: 思路: 直接用大顶堆,每次取两个数来比较即可,难点是循环的条件为什么。 考虑两种情况,最后堆只有一个元素,那么就返回这个元素值,最后堆没有元素,为什么呢,因为我们每次去两个数,如果倒数第二步还剩下两个石头,且相同重量,那么最后就没有元素了。针对这两种情况都是堆的元素数量>1,因为最后结果只有1和0嘛 阅读全文
posted @ 2021-04-08 21:59 Mrsdwang 阅读(31) 评论(0) 推荐(0) 编辑
摘要: 思路: 这道题有个要求就是(A)的得分要乘2,那这就有个问题了,如何记录一个括号之间有多少分呢,又该如何记录以前的分数,并能区分不是一个括号里面的之前算出来的分数。 又因为我们可能回下意识的把栈定义为char类型把'('放入栈里,这样就没思路了。 考虑题目说给的string一定是平衡括号对,所以我们 阅读全文
posted @ 2021-04-08 21:40 Mrsdwang 阅读(48) 评论(0) 推荐(0) 编辑
摘要: 思路: 刚开始看到这题,没能准确理解意思,直接用两个指针分别从pushed的第一个元素开始往后,从popped最后一个元素向前,然后比较,不相等就return false,然后错误,对比了一下例子发现 pushed=[1,2,3,4,5],popped=[4,5,3,2,1]而不是[5,4,3,2, 阅读全文
posted @ 2021-04-08 21:03 Mrsdwang 阅读(35) 评论(0) 推荐(0) 编辑
上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 22 下一页