![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
IrvingZou
本人985计算机专业本科生,18岁才入门IT,拿到过蓝桥杯省级三等奖和软件设计大赛省级一等奖,做过图像处理方面的科研,正在不断“充电”,于2021年3月被纽约大学计算机工程硕士成功录取,将要开启下一段的学习。
除了写代码,也爱好篮球(控卫打法但技术太渣,喜欢库里),游泳(非常牛逼),音乐(超级nb,业余钢琴10级并于2010年过级)。
展开
-
LeetCode House Robber题解
1,题目内容 如上图所示,该题目要求我们找出小偷能够偷取的最大的金额,且由于邻居安全系统的存在,不能在同一天晚上偷取两个相邻的住户。所以,小偷只能偷完一家再偷不相邻的另一家。 2,题解思路 首先分析如下的测试案例。 [2,7,9,3,1] 可见,首先,小偷只能从第一家和第二家选择一家来偷,那么怎么保证所偷金额最大呢?采用动态规划策略来思考: 假定偷了第一家,然后,判断偷不偷第二家。由于开始一分钱没有,偷了第二家,金额是7,比第一家2大,故偷第二家而不偷第一家。 后续这样考虑: 判断偷不偷第n家,由于安全系原创 2021-05-17 11:01:03 · 124 阅读 · 0 评论 -
关于对选择排序的一些理解
学过排序算法的应该知道选择排序是指从数组中找出最大的值放在相应的位置。一般需要两重循环来实现,外重循环确定待排序的序列,内重循环则找出待排序序列中的最大值,出循环时将该值与外重循环所指定的下表做一个交换(swap)。 不知道聪明的你有没有思考过,这个过程有一个递归的意思暗藏在里面。定义递归函数select,参数指定最大值待放入的位置start。 首先找出序列中的最大值,这里可由一个函数模块单独实现 将待放入的位置(由参数start指定)的值与最大值做一个交换 递归计算指定最大值为start+1的数组的se原创 2021-02-16 20:53:35 · 126 阅读 · 0 评论 -
LeetCode 71 Simplify Path题解
首先上题目内容原创 2020-03-06 21:12:02 · 167 阅读 · 0 评论 -
Saving-James-Bond Easy Version 解题过程
首先,上问题(英文版的): 分析题目,可知: James Bond想在小岛(起始位置)跳过鳄鱼后走出水池。 小岛的大小(注意,题目中给的是直径!!(diameter))是固定的(直径15) 池子的大小是固定的 (100*100的正方形)以及岛的位置(0,0)也是固定的。 默认顶点位置(东北角位置为(50,50))也是固定的 综上,固定的条件相对较多,然后我们采用–深搜解决这个问题。采用深搜的原...原创 2019-07-14 20:48:25 · 230 阅读 · 0 评论 -
Rotate List LeetCode 题解
首先上题目: 题目中给定了一个K(旋转次数),输入一个链表,要求将链表从末尾旋转k次。那么难点在于: 怎样快速找到链表的末尾 怎样调整头指针 对于第二个问题,只需给定一个临时的指针变量,待指到最后一个节点时,将最后一个节点反指回头结点,再将头结点指到临时指针的位置。 对于第一个问题,可以考虑连续两次移动指针的方式来找到表尾的方式。 (如下图) 最后,一个非常狗血的问题:测试样例有k值上万的情...原创 2019-07-28 13:38:21 · 92 阅读 · 0 评论