CSMania

You may say I'm a Programmer, but I'm not the only one

代码随想录算法训练营第三十八天| 动态规划

509. 斐波那契数 刚开始学编程的时候就遇到过的题,虽然说现在学的是动态规划,但是我是用递归做出来的。 class Solution { public: int fib(int n) { if(n == 0){ return 0; } if(n == 1){ return 1; ...

代码随想录算法训练营第三十七天| 贪心算法

738.单调递增的数字 自己想了个方法,但是不对。照着Carl的答案写出来的。 这里首先确认的是应该从右往左遍历,因为这样的话遇到前面的数比当前大的话,就可以借位了。我考虑到这点了,但是没想透。然后找到应该是从哪一位开始把数写成9。只记录最靠左应该改为9的位置就行。 class Solution { public: int monotoneIncreasingDigits(int ...

李卓群琐碎哲思

婚姻 本来婚姻是为了财产的重组以推进社会发展, 以及促使人们繁衍后代而形成的一种由人类的领导者创造出来的一个概念。尽管有些人在年轻的时候都动过不想结婚的想法,人类的趋同性让大多数人都还是在一定年龄的时候妥协了。 say yes成了代表婚姻承诺的propaganda。不say yes的话,两个人就不能正常交往了吗?不是的。不结婚的话是可以正常交往的。但这个时候社会的各种干扰音就会给你洗脑:相...

代码随想录算法训练营第三十五天| 贪心算法

435. 无重叠区间 这道题的确是思路和昨天最后一道题一样,但是我没做昨天最后那道题,虽然看过一遍以为会了,其实没有。今天做了这道题就体现出来了。这道题的思路是会了。 class Solution { public: static bool cmp(const vector<int>& a, const vector<int>& b){ ...

代码随想录算法训练营第三十四天| 贪心算法

860.柠檬水找零 试了好几个方法没做出来。然后休息了一会,结果就想出来了。 我之前一直在顾虑会不会出现我用一种方法去找零20元,再下一个20元又需要找零的时候就没有足够的钱找零了。但其实这个顾虑是可以避免的:我们优先把十元钱找零出去,然后再找零五元。这样的话,就不会有本可以找的开,但是提前把小额的钱用出去的下场。 class Solution { public: bool lem...

代码随想录算法训练营第三十三天| 贪心算法

1005.K次取反后最大化的数组和 这道题自己试了好几个方法,发现都有漏洞。最后瞟了一眼回答,才想明白原来一直更新最小的数就可以了。不用写各种条件来去反转数。 class Solution { public: int largestSumAfterKNegations(vector<int>& nums, int k) { int result; ...

代码随想录算法训练营第三十二天| 贪心算法

122.买卖股票的最佳时机II 这道题还是挺容易想出来的,做之前看了一下之前也做过。毕竟只要往贪心方面去靠,就能有大概一个想法,就是只考虑眼前呗。 class Solution { public: int maxProfit(vector<int>& prices) { int result = 0; for(int i=0; i&...

代码随想录算法训练营第三十一天| 贪心算法

455.分发饼干 这道题我用的其实是双指针的做法。还没看Carl的视频,不知道这算不算贪心算法。 class Solution { public: int findContentChildren(vector<int>& g, vector<int>& s) { sort(g.begin(),g.end()); ...

代码随想录算法训练营第三十天| 回溯算法

今天就是过了一遍三道题。没有写代码 332.重新安排行程 51. N皇后 37. 解数独

代码随想录算法训练营第二十八天| 回溯算法

491.递增子序列 这道题自己写了好几种办法,发现都有漏洞。看了Carl的答案才想到可以用哈希表。 Carl用哈希表来验证是否在这颗树的同一层里已用过相同的数。这点我在之前并没有想通。现在想明白了:如果当前层用了某个数,就把这个数加到哈希表,如果list里再有这个数,就不call function了。因为如果再把这个数进行回溯计算,那他的答案(至少这一层)会是和之前 同一层有一样的结果。 ...