上一页 1 ··· 13 14 15 16 17 18 19 20 21 ··· 24 下一页
摘要: 队列的基本应用 - 广度优先遍历 1)树 : 层序遍历; 2)图:无权图的最短路径。 使用队列来实现二叉树的层序遍历,需要多关注一个层数的信息 解法二:<推荐> 比解法一通用,更方便。 之形的意思是:第0行是从左到右遍历,第1行是从右到左遍历,以此类推,交叉往返的之字形的层序遍历。 这里需要注意的一 阅读全文
posted @ 2019-01-17 21:01 爱学英语的程序媛 阅读(192) 评论(0) 推荐(0) 编辑
摘要: 前序遍历:根左右 中序遍历:左根右 后序遍历:左右根 可以使其遍历顺序为根左右,然后逆序插入vector中,即每次在vector的头部插入结点值。在压入栈时先压入右结点再压入左结点则在出栈时就是先左后右了。 解法二:关键是判断当前这个结点: 1)它如果有左右结点是否已经入栈,若没有入栈则先将它的右结 阅读全文
posted @ 2019-01-16 23:02 爱学英语的程序媛 阅读(237) 评论(0) 推荐(0) 编辑
摘要: 注意:!!当字符串的某一字符为 )} ] 时要先判断栈st是否为空,若为空则返回false,否则st.pop()时容易造成指针溢出报错。 思路:从前往后遍历数组,遇到数字则压入栈中,遇到符号则把栈顶的两个数字拿出来做运算,把结果再压入栈中,直到遍历完整个数组,栈顶数字就是答案。 .. 回退一个目录 阅读全文
posted @ 2019-01-16 17:09 爱学英语的程序媛 阅读(192) 评论(0) 推荐(0) 编辑
摘要: 当我用windows电脑 pip install missingno 时 它居然会报pip不是内部或外部命令也不是可运行的程序或批处理文件的问题! 解决方法: 1)找到 pip.exe 所在位置,一般安装过Anaconda之后都会有这个文件,即已经安装过pip了,出现上面的问题是因为未在环境变量中添 阅读全文
posted @ 2019-01-13 22:30 爱学英语的程序媛 阅读(2316) 评论(0) 推荐(0) 编辑
摘要: 最优子结构:通过求子问题的最优解,可以获得原问题的最优解。 解法一:记忆化搜索 解法二:动态规划 思路:如下图所示,红色部分表示平方数,所有的完美平方数都可以看做一个普通数加上一个完美平方数,那么递推式就变为了:dp[i + j * j] = min(dp[i] + 1, dp[i + j * j] 阅读全文
posted @ 2018-12-27 14:22 爱学英语的程序媛 阅读(225) 评论(0) 推荐(0) 编辑
摘要: 1. 记忆化搜索 - 自上向下的解决问题:使用vector来保存每次计算的结果,如果下次再碰到同样的需要计算的式子就不需要重复计算了。 2. 动态规划 - 自下向上的解决问题 解法一:自顶向下 解法二:自底向上 注意:从2只能移动到3和4;从3只能移动到6和5. 思路:设从位置(i,j)达到底部的最 阅读全文
posted @ 2018-12-26 23:20 爱学英语的程序媛 阅读(192) 评论(0) 推荐(0) 编辑
摘要: 本题是从1开始计数;n一定是合法的。 能否只遍历一遍链表? n = 2, 则要删除4和5。使用两个指针来寻找要删除的区间。 思路:快慢指针,一开始让fast和slow指向链表的头结点,然后让fast指向链表旋转k位后的头结点,然后fast和slow同时向后移动,直到fast指向原链表的最后一个元素, 阅读全文
posted @ 2018-12-26 19:13 爱学英语的程序媛 阅读(222) 评论(0) 推荐(0) 编辑
摘要: 该逻辑对于删除第一个元素不适用。 这样的代码不优美 可以设置一个虚拟的头结点: 这道题想了好久,原因是要把重复的所有元素都删除,这里设立一个duplicate标志位来记录当前cur是否与下一个结点重复。 又重新做了一遍这道题,思路和前面设置标志位记录重复的不太一样。重点在于在两个结点不相同时,需要判 阅读全文
posted @ 2018-12-25 21:31 爱学英语的程序媛 阅读(225) 评论(0) 推荐(0) 编辑
摘要: 表不支持随机查找,通常是使用next指针进行操作。 206. 反转链表 需要考虑以上两个问题,在本题中已经假定1 <= m <= n <= length of list 思路: 完整的翻转链表程序: 思路:在链表中,可以通过创建两个新的头结点指针,来分别指向小于x的结点和大于等于x的结点,遍历结束之 阅读全文
posted @ 2018-12-24 21:31 爱学英语的程序媛 阅读(204) 评论(0) 推荐(0) 编辑
摘要: 思路:滑动窗口(长度为k+1)看这个窗口里的是否有两个元素的值相同。加查找表。 注意:是数组中有重复的元素返回true,没有返回false。 用set运行的更快。 函数lower_bound()在first和last中的前闭后开区间进行二分查找,返回大于或等于val的第一个元素位置。如果所有元素都小 阅读全文
posted @ 2018-12-23 23:12 爱学英语的程序媛 阅读(116) 评论(0) 推荐(0) 编辑
上一页 1 ··· 13 14 15 16 17 18 19 20 21 ··· 24 下一页