- 博客(5)
- 收藏
- 关注
原创 算法思想总结
1、递归与分治思想定义在高级语言中,函数调用自己和调用其他函数并没有本质的不同。我们把一个直接调用自己或通过一系列的调用语句简洁的调用自己的函数,成为递归函数。不过,写递归程序最怕的就是陷入永不结束的无穷递归中。切记,每个递归定义必须至少有一个条件,当满足这个条件是递归不在进行,即函数不再调用自身而是返回。使用递归能是程序的结构更清晰、更简洁、更容易让人理解,从而减少读懂代码的时间。但大量递归调用会建立函数的副本,会消耗大量的时间和内存,而迭代不需要此种付出。“普通人都用迭代,只有天才采用递归”-
2021-05-10 17:12:06 139
原创 力扣题目分析-前K个高频元素
题目描述前 K 个高频元素给你一个整数数组 nums 和一个整数 k ,请你返回其中出现频率前 k 高的元素。你可以按 任意顺序 返回答案。解题分析class Solution {public: //堆思想 建立出现次数数组 //若堆的元素个数<k 可以直接插入堆中 //堆的元素个数>=k 则检查堆定于当前出现次数的大小 //若堆顶更大,说明至少有k个数字的出现次数比当前值大,舍弃当前值 //否则 弹出堆顶 将当前值插入堆 //布
2021-04-25 19:59:54 303
原创 力扣题目分析及感想
322 零钱兑换给定不同面额的硬币 coins 和一个总金额 amount。编写一个函数来计算可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回 -1。你可以认为每种硬币的数量是无限的。代码://记忆化搜索//递归思想class Solution {vectorcount;int dp(vector& coins, int rem){if(rem < 0) return -1;if(rem == 0) return 0;if(count[re
2021-04-22 15:46:41 123 2
原创 LeetCode解题思路总结记录·更
LeetCode解题思路总结记录简单:1、两数之和 : 循环嵌套 ok2、有效的括号 :map容器、pair、char??3、合并两个有序链表:nullptr–空指针 val? next?4、最大子序和:暴力法思路较为简单5、爬楼梯 : 本质 解裴波拉切术 递归法计算量太大 用非递归法6、对称二叉树 : 递归法 两个指针同步移动7、二叉树的最大深度: 最大深度=左、右子树的最大深度+1 d=max(dl,dr)+18、买卖股票最佳时机:暴力法超时 采用非递归的线性时间方法 profits
2021-04-22 11:03:34 187
原创 本学期计划
本学期1、力扣刷题按照先易后难的顺序刷题,不会解先看答案,按照答案梳理思路,读懂每行每句代码的含义。重在培养算法思路,慢慢学着自己解题。2、掌握基础知识三项基础科目以及C++相关知识巩固,可配合视频结合书面教材学习。3、论文完善按照老师指导完成小论文和专利的书写,两三天与老师交流一次,扩大知识面,找突破口创新点。时间:1、 9:00-12:00 14:00-16:00 19:00-21:002、 周一至周六目标1、丰富简历内容 找到不错的实习2、学着写博客 记录自己的学习内容学.
2021-03-22 19:47:33 82
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人