日常打卡 public class Solution { public int compareVersion(String version1, String version2) { String[] version1nu…
标签:算法
python 实现快速排序
def quick_sort(arr): if len(arr) <= 1: return arr tmp = quick_sort([lt for lt in arr[1:] if lt < arr[0]]…
剑指offer_圆圈中最后剩下的数字
/* 圆圈中最后剩下的数字 思路: 循环队列,但队列是线性表,删除需要移动元素 对于删除操作多的需求,考虑循环链表 */ class ListNode { int val; ListNode next = null; L…
Amusing Digits(2015网易游戏笔试题)
Question 时间限制: 10000ms 单点时限: 1000ms 内存限制: 256MB 描述 网易成立于1997年6月,是中国领先的互联网技术公司。其相继推出了门户网站、在线游戏、电子邮箱、在线教育、电子商务等多…
动态规划算法的设计要点(笔记)
本篇文章主要是根据:coursera的课程《算法设计与分析》(北京大学)的内容记录的学习笔记。 动态规划 由于本文的重点在于总结动态规划算法的设计要点。因此,需要你了解动态规划,作为本文的预备知识。推荐以下实例来弄清动态…
校招季——编程题目(10-11)
10.倒转数组 题目: 将长度为n的数组倒转。 解答: void Reverse(int *data, int n) { int i, j; for(i = 0, j = n - 1; i < j; ++i, --…
PHP实现Floyd算法
Floyd算法相比于迪杰特斯拉算法又是在于方便理解,逻辑清晰但不方便记录路径 public function run() { @set_time_limit(0); @ini_set('memory_limit', '2…
KMP算法详解
【 http://youzitool.com 新博客,欢迎访问】 KMP算法即Knuth-Morris-Pratt算法,是模式匹配的一种改进算法,因为是名字中三人同时发现的,所以称为KMP算法。…
关于异或运算交换值及其中的bug
或许有很多同学会喜欢使用 a = a^b; b= b^a; a= a^b; 对于不知道原理的同学,我举一个类似的例子: a=a+b; b=a-b; a=a-b; 然后是其中的bug : 交换值经常会在排序中碰到,但是异或…
二叉树排序
<pre name="code" class="java"> <span style="white-space:pre"> </span>//内部节点类 public class No…
Ackermann函数的尾递归实现
曾经在微博中谈到在可计算理论中著名的Ackermann函数。当时接触到的算法是Rózsa Péter 在1935年提出的算法: A(0, n):= n + 1 for n ≥ 0 A(m, 0):= A(m –…
打印两个有序链表的公共部分
要求:给出两个有序单链表的头结点 head1,head2,打印两个链表公共部分 思路:因为已经有序,所以直接比较值大小,若1小,1后移,2小,2后移,相等,打印,二者一起后移,继续比较。 public void prin…