9月11号leetcode每日一题

原题链接: 组合总和 III

思考过程

     leetocde这几天感觉是要弄一个组合周…,总的来说还是换汤不换药,问题的关键在于去除重复的组合,重点是题目中说明不会出现重复的数字,这样就很简单了,递归函数包括两个参数,一个是剩余选取次数,一个是剩余选取大小,只有两者都为0时才能将结果push进最终答案,感觉实在没有什么好说的,确实太水了。。。

阅读更多

9月8号leetcode每日一题

原题链接 组合

思考过程

       这道题刚拿到一看就比较典型,组合选k个数字,应该可以用dfs解决。
但是这道题要求的是组合,如果按照循环遍历选一个再用bool数组记录选取情况的话,会产生很多不必要的递归路径。
       因此要确定每个组合只有一个排列会push到最终结果,方法就是规定一个顺序即可,这里就规定递增顺序即可。
       但是做出来之后效率比较低下,应该是没有进行剪枝,仔细一想,每次要求遍历开始的部分直接从已有数字+1开始(数组为空时取1即可),修改之后最大时间缩短为十分之一。然而超过人数占比并不理想,所以在想了想,要是当前剩余可遍历元素少于所需元素个数,好像也可以直接返回,最后运行结果16ms,超过94%。

阅读更多