
算法
文章平均质量分 62
liuxialong
这个作者很懒,什么都没留下…
展开
-
笔试题:如何判断单链表是否存在环
给定一个单链表,只给出头指针h:1、如何判断是否存在环?2、如何知道环的长度?3、如何找出环的连接点在哪里?4、带环链表的长度是多少? 解法:1、对于问题1,使用追赶的方法,设定两个指针slow、fast,从头指针开始,每次分别前进1步、2步。如存在环,则两者相遇;如不存在环,fast遇到NULL退出。2、对于问题2,记录下问题1的碰撞点p,slow、fast从该点原创 2011-06-20 11:25:00 · 30596 阅读 · 9 评论 -
编程之美:判断两链表是否相交
《编程之美》里面有一篇是讲如何判断两链表是否相交,读后觉得原文太过啰嗦。于是,笔者总结了一下,此类问题可以扩展为两大类,分别是:1、单链表与环问题http://blog.youkuaiyun.com/liuxialong/archive/2011/06/20/6555850.aspx2、单链表相交与环问题(本文) 给定两单链表A、B,只给出两头指针。请问:1、如何判断两单链表(无环)是原创 2011-06-20 13:49:00 · 14599 阅读 · 3 评论 -
将一个正整数n表示成一系列的正整数之和,求共有几种划分方法
题目:将一个正整数n表示成一系列的正整数之和:求共有几种划分方法n=n1+n2+n3+.....+nk (n1>=n2>=n3.......>=1, k>=1)被称作正整数的一个划分。正整数n可能存在不同的划分,例如正整数6的全部划分为6=66=5+16=4+2 6=4+1+16=3+3 6=3+2+1 6=3+1+1+16=2+2+2 6=2+2+1+1原创 2011-07-02 14:18:24 · 11216 阅读 · 2 评论 -
2011-7-15 讨论会笔记
字符串相关算法:1、KMP算法2、trie树(字典树)3、后缀树4、PAT树5、后缀数组6、LCP原创 2011-07-19 20:46:14 · 910 阅读 · 0 评论 -
随机洗牌算法和随机选择算法
1、随机洗牌算法问题描述:将有序的集合中的元素以随机的顺序重新排列解法:for i:=1 to n do swap(a[i], a[random(1,n)]); // 凑合,但不是真正随机 for i:=1 to n do swap(a[i], a[ra原创 2011-09-29 09:34:32 · 2728 阅读 · 0 评论 -
算法题总结+解法
原题转载自:http://www.cnblogs.com/xwdreamer/archive/2011/12/13/2296910.html解法为原创,红色字体标出。1.把二元查找树转变成排序的双向链表 题目:输入一棵二元查找树,将该二元查找树转换成一个排序的双向链表。要求不能创建任何新的结点,只调整指针的指向。 10 / \ 6 14原创 2014-12-10 13:01:42 · 4336 阅读 · 0 评论 -
leetcode解题思路
收录https://oj.leetcode.com/problems/ 所有题目的解题思路。Min Stack题目要求:设计一个最小栈,要求能实现pop、push、min操作,也就是返回栈内元素最小值。解法:新加一个辅助栈,保存当前栈内最小值。当入栈元素小于辅助栈栈顶元素时,同时入辅助栈;出栈时,当出栈元素等于栈顶元素时,同时辅助栈出栈。Find Min原创 2014-12-15 12:51:06 · 3111 阅读 · 0 评论