摘要:
冒泡排序,每一次从前往后两两比较找出一个最大的(或者最小的)。 普通版: 测试案例: 优化版: 假设现在有一个数组[6,1,2,3,4,5],当我们进行完第一次冒泡排序过程后变为[1,2,3,4,5,6],这时候数组已经变成有序的了,程序要是再继续循环岂不是一直在做无用功,那怎么知道数组已经是有序的 阅读全文
摘要:
看题目: 快速排序(英语:Quicksort),又称划分交换排序(partition-exchange sort),通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数 阅读全文
摘要:
看题目: 总体思路: 迭代法,三个指针,先反后移,直到最后。 上代码: 阅读全文
摘要:
上题目: leetcode 141 简单 总体思路: 双指针,即通过使用一快一慢不同速度的两个指针来遍历链表,如果有环,快的总会与慢的相遇。 上代码: 题目Ⅱ: leetcode 142 中等 总体思路: 待解决 阅读全文
摘要:
看题目: leetcode 160 简单 总体思路: 通过拼接两个链表来消除长度差 设长-短链表为 C,短-长链表为 D (分别代表长链表在前和短链表在前的拼接链表),则当 C 走到长短链表交接处时,D 走在长链表中,且与长链表头距离为 长度差; 以下图片帮助理解:当 ha == hb 时跳出,返回 阅读全文
摘要:
看题目: leetcode 21 简单 思路: 总体思路很简单,就是新建一个链表,逐步将两个链表中的数据按从小到大的顺序(注意:两个链表是已经排好顺序的)依次添加到新的列表中。 上代码: 阅读全文
摘要:
数组(Python中的列表)的结构实现如下: 对于101 25 36如果采用数组的形式存储的话如下图所示: 数组在使用中需要事先预估要存储的数据的个数,一次性申请存储空间。查找元素时速度很快,但是在在扩充时会非常慢。需要重新申请一块新的内存地址。 链表可以解决顺序表扩充时的不足,链表扩充时,原存储不 阅读全文
摘要:
Preface Github下的项目可能很大,里面有很多的子文件夹,我们可能只需要使用某个子目录下的资源,可以不用下载完整的repo就能使用。 例如,我想下载这个repo中的mnist_gan文件:https://github.com/NELSONZHAO/zhihu/tree/master/mni 阅读全文
摘要:
参考:https://bugs.launchpad.net/rally/+bug/1764545 阅读全文