摘要: 阅读全文
posted @ 2015-07-10 16:39 Chapter 阅读(219) 评论(0) 推荐(0) 编辑
摘要: 问题描述输入两个整数序列,其中一个为入栈序列,另一个为出栈序列。判断出栈序列是否是合法的。解决思路使用一个辅助栈,用最直观的方式。程序public class ValidPopSequence { public boolean isValidPopSeq(int[] push, int[] pop)... 阅读全文
posted @ 2015-07-10 10:45 Chapter 阅读(130) 评论(0) 推荐(0) 编辑
摘要: 问题描述输入1个整数,求其二进制表示中有多少个“1”。解决思路1. 不断右移,碰到1与0与,计数;(对于负数不可,会死循环);2. 与(n-1)与,相当于清除最右端的“1”,计数。程序思路2:public class NumOfOne { public int getNumOfOne(int num... 阅读全文
posted @ 2015-07-10 10:02 Chapter 阅读(109) 评论(0) 推荐(0) 编辑
摘要: 问题描述一个台阶有n级,一次可以跳1级或者2级。问共有多少种跳法?分析算法的时间复杂度。解决思路假设f(n)代表n级台阶的跳法数目,其递推式如下:当n=1时,f(n)=1;当n=2时,f(n)=2;其他,f(n)=f(n-1)+f(n-2)那么有如下几种解决方法:1. 递归,指数级时间复杂度;2. ... 阅读全文
posted @ 2015-07-10 09:52 Chapter 阅读(149) 评论(0) 推荐(0) 编辑
摘要: 问题描述定义字符串的左旋转操作:将字符串前面的若干个字符移动到字符串的尾部。例如,字符串“abcdef”左旋转2位得到“cdefab”。要求实现的算法时间复杂度为O(n),常数级空间复杂度。解决思路整体翻转+部分翻转程序public class LeftRotateString { public v... 阅读全文
posted @ 2015-07-10 09:46 Chapter 阅读(230) 评论(0) 推荐(0) 编辑
摘要: 问题描述在字符串中找出连续最长的数字串,并将该串返回。(略有修改)解决思路双指针法。一前一后,注意保存最长连续数字串的开始或者结束位置和最长串的长度,最后返回该子串即可。程序public class LongestContinuousDigits { public String getLCD(Str... 阅读全文
posted @ 2015-07-10 09:36 Chapter 阅读(182) 评论(0) 推荐(0) 编辑
摘要: 问题描述将原题简单化,在二维平面上怎么判断一个矩形(已知四个矩形的角的坐标)和一个圆(已知圆心坐标和半径)是否相交?解决思路枚举各种情况。但是有简单的处理方式。如下图(字丑勿怪= =)程序比较简单,就忽略了>< 阅读全文
posted @ 2015-07-10 09:29 Chapter 阅读(288) 评论(0) 推荐(0) 编辑