会员
周边
众包
新闻
博问
闪存
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
爱学英语的程序媛
博客园
首页
新随笔
联系
订阅
管理
上一页
1
···
13
14
15
16
17
18
19
20
21
···
24
下一页
2019年1月17日
队列 102 Binary Tree Level Order Traversal
摘要: 队列的基本应用 - 广度优先遍历 1)树 : 层序遍历; 2)图:无权图的最短路径。 使用队列来实现二叉树的层序遍历,需要多关注一个层数的信息 解法二:<推荐> 比解法一通用,更方便。 之形的意思是:第0行是从左到右遍历,第1行是从右到左遍历,以此类推,交叉往返的之字形的层序遍历。 这里需要注意的一
阅读全文
posted @ 2019-01-17 21:01 爱学英语的程序媛
阅读(196)
评论(0)
推荐(0)
2019年1月16日
栈和递归的关系 144:Binary Tree Preorder Traversal
摘要: 前序遍历:根左右 中序遍历:左根右 后序遍历:左右根 可以使其遍历顺序为根左右,然后逆序插入vector中,即每次在vector的头部插入结点值。在压入栈时先压入右结点再压入左结点则在出栈时就是先左后右了。 解法二:关键是判断当前这个结点: 1)它如果有左右结点是否已经入栈,若没有入栈则先将它的右结
阅读全文
posted @ 2019-01-16 23:02 爱学英语的程序媛
阅读(242)
评论(0)
推荐(0)
(栈) 20. Valid Parentheses, 150. Evaluate Reverse Polish Notation, 71. Simplify Path
摘要: 注意:!!当字符串的某一字符为 )} ] 时要先判断栈st是否为空,若为空则返回false,否则st.pop()时容易造成指针溢出报错。 思路:从前往后遍历数组,遇到数字则压入栈中,遇到符号则把栈顶的两个数字拿出来做运算,把结果再压入栈中,直到遍历完整个数组,栈顶数字就是答案。 .. 回退一个目录
阅读全文
posted @ 2019-01-16 17:09 爱学英语的程序媛
阅读(196)
评论(0)
推荐(0)
2019年1月13日
pip不是内部或外部命令也不是可运行的程序或批处理文件的问题
摘要: 当我用windows电脑 pip install missingno 时 它居然会报pip不是内部或外部命令也不是可运行的程序或批处理文件的问题! 解决方法: 1)找到 pip.exe 所在位置,一般安装过Anaconda之后都会有这个文件,即已经安装过pip了,出现上面的问题是因为未在环境变量中添
阅读全文
posted @ 2019-01-13 22:30 爱学英语的程序媛
阅读(2371)
评论(0)
推荐(0)
2018年12月27日
动态规划 leetcode 343,279,91 & 639. Decode Ways,62,63,198
摘要: 最优子结构:通过求子问题的最优解,可以获得原问题的最优解。 解法一:记忆化搜索 解法二:动态规划 思路:如下图所示,红色部分表示平方数,所有的完美平方数都可以看做一个普通数加上一个完美平方数,那么递推式就变为了:dp[i + j * j] = min(dp[i] + 1, dp[i + j * j]
阅读全文
posted @ 2018-12-27 14:22 爱学英语的程序媛
阅读(235)
评论(0)
推荐(0)
2018年12月26日
动态规划 70.climbing Stairs ,120,64
摘要: 1. 记忆化搜索 - 自上向下的解决问题:使用vector来保存每次计算的结果,如果下次再碰到同样的需要计算的式子就不需要重复计算了。 2. 动态规划 - 自下向上的解决问题 解法一:自顶向下 解法二:自底向上 注意:从2只能移动到3和4;从3只能移动到6和5. 思路:设从位置(i,j)达到底部的最
阅读全文
posted @ 2018-12-26 23:20 爱学英语的程序媛
阅读(196)
评论(0)
推荐(0)
(双指针+链表) leetcode 19. Remove Nth Node from End of List,61. Rotate List,143. Reorder List,234. Palindrome Linked List
摘要: 本题是从1开始计数;n一定是合法的。 能否只遍历一遍链表? n = 2, 则要删除4和5。使用两个指针来寻找要删除的区间。 思路:快慢指针,一开始让fast和slow指向链表的头结点,然后让fast指向链表旋转k位后的头结点,然后fast和slow同时向后移动,直到fast指向原链表的最后一个元素,
阅读全文
posted @ 2018-12-26 19:13 爱学英语的程序媛
阅读(227)
评论(0)
推荐(0)
2018年12月25日
建立链表的虚拟头结点 203 Remove Linked List Element,82,147,148,237
摘要: 该逻辑对于删除第一个元素不适用。 这样的代码不优美 可以设置一个虚拟的头结点: 这道题想了好久,原因是要把重复的所有元素都删除,这里设立一个duplicate标志位来记录当前cur是否与下一个结点重复。 又重新做了一遍这道题,思路和前面设置标志位记录重复的不太一样。重点在于在两个结点不相同时,需要判
阅读全文
posted @ 2018-12-25 21:31 爱学英语的程序媛
阅读(232)
评论(0)
推荐(0)
2018年12月24日
链表 206 Reverse Linked List, 92,86, 328, 2, 445
摘要: 表不支持随机查找,通常是使用next指针进行操作。 206. 反转链表 需要考虑以上两个问题,在本题中已经假定1 <= m <= n <= length of list 思路: 完整的翻转链表程序: 思路:在链表中,可以通过创建两个新的头结点指针,来分别指向小于x的结点和大于等于x的结点,遍历结束之
阅读全文
posted @ 2018-12-24 21:31 爱学英语的程序媛
阅读(213)
评论(0)
推荐(0)
2018年12月23日
(数组,哈希表) 219.Contains Duplicate(2),217 Contain Duplicate, 220(3)
摘要: 思路:滑动窗口(长度为k+1)看这个窗口里的是否有两个元素的值相同。加查找表。 注意:是数组中有重复的元素返回true,没有返回false。 用set运行的更快。 函数lower_bound()在first和last中的前闭后开区间进行二分查找,返回大于或等于val的第一个元素位置。如果所有元素都小
阅读全文
posted @ 2018-12-23 23:12 爱学英语的程序媛
阅读(118)
评论(0)
推荐(0)
上一页
1
···
13
14
15
16
17
18
19
20
21
···
24
下一页