04 2018 档案
摘要:[TOC] 二叉树的最大深度 二叉树,所以可以考虑用递归来做。由于根节点已经算过了,所以需要加上1;每次返回都是以递归时的节点作为根节点进行判断的最大深度。还是比较好理解,代码如下: 在网上还看到了有人用队列来做,附代码如下: 这个方法也是非常的巧妙!利用队列来存储每一个要处理的节点,处理之前先记一
阅读全文
摘要:[TOC] 爬楼梯 第一想法自然是递归,而且爬楼梯很明显是一个斐波拉切数列,所以就有了以下代码: 但是在输入为44的时候提示超出时间限制了,仔细想想的确如此,反复递归、调用函数的开销还是挺大的。所以如果换成循环会不会好一点呢? 最小栈 这道题觉得可以构造一个vector容器,然后利用vector的相
阅读全文
摘要:[TOC] 缺失数字 最初的想法是将0到n全部加起来,再减去输入的数字之和,那么差如果非零的话就是我们所需要的数字。但是一想,可能会发生溢出错误,所以换了个思路,先进行排序后,后一个元素与该元素的差是否为1,不为1的话就说明缺了元素。这种方法不会发生溢出错误,代码如下: 颠倒二进制位 这道题比较简单
阅读全文
摘要:合并两个有序数组 开始的时候将这道题理解错了,发现几个奇怪的测试案例后才明白这道题什么意思。本来的想法就是把nums2全部放到num1里面,然后删除重复元素、排序一下,就有了下面的代码: 后来发现测试案例是这样给的:[1,2,3,0,0,0] 3 [2,5,6] 3,测试的意思是nums1初始化为【
阅读全文
摘要:删除链表的倒数第N个节点 感觉自己对于链表的知识还是了解的不够深入,所以没有想到用双指针进行操作。我的想法是这样的,首先计算整个链表的长度,然后遍历到长度减去n的节点处,执行删除操作。 自己的代码: 相信看过代码后都会觉得这个代码的逻辑比较奇怪,尤其是 这段代码,感觉是根据测试案例试出来的。的确是这
阅读全文
摘要:[TOC] 反转字符串 和vector同样的进行swap交换就可以了 此外,可以使用栈,将字符串的每个字符都转化成char数组,再将数组中的字符一次亚茹栈中,将栈中的字符依次弹出赋值给char数组,因为栈有先进后出的原则,所以在弹出的时候就已经自动完成了逆序操作。 字符串中的第一个唯一字符 想法是加
阅读全文
摘要:机器学习、python 前言 最近打算学习一波机器学习,然后尽量和自己目前研究生项目相契合,可以提出一些有新意的算法吧。 算法流程 对未知类别属性的数据集中的每个点依次执行以下操作: step1:计算已知类别数据集中的点与当前点之间的距离 step2:按照距离递增持续排序 step3:选取与当前点距
阅读全文
摘要:这里记录了LeetCode初级算法中数组的一些题目: 加一 本来想先转成整数,加1后再转回去;耽美想到测试的例子考虑到了这个方法的笨重,所以int类型超了最大范围65536,导致程序出错。 下面完全是从数组的角度进行的思考:分析了各种情况综合得出代码: 此外还有一种解法: 这种方法就很机智的将进位c
阅读全文
摘要:关于Robots协议 Robots协议也称为爬虫协议,是网络爬虫排除标准(Robots Exclusion Protocol),用来告诉爬虫和搜索引擎哪些页面可以抓取,哪些不可以抓取。因为我们如果无限制的使用爬虫爬取信息的话,且不说技术上能否突破某些网站上的发爬虫措施,如果毫无限制的进行爬取,再加上
阅读全文
摘要:AJAX学习 AJAX=Asynchronous JavaScript and XML(异步的 JavaScript 和 XML)。通俗来说,AJAX是一种无需加载整个网页的情况下,通过在后台与服务器进行少量数据交换,更新部分网页的技术,用于创建快速动态网页的技术。 向服务器发送请求与服务器的响应
阅读全文