摘要: 输入两个字符串,代表两个版本,比较大小 注意: 1.小数点个数不一定,如a=1.0.1,b=1 2.1.0==1 阅读全文
posted @ 2016-09-03 23:02 0_summer 阅读(109) 评论(0) 推荐(0) 编辑
摘要: 输入一个矩阵,其中每一行递增,每一列递增,要求设计一个高效的算法判断target是否在矩阵中 递增,所以二分,lgM*lgN 总体来说就是从右上角往下找到左下角 阅读全文
posted @ 2016-09-03 21:54 0_summer 阅读(118) 评论(0) 推荐(0) 编辑
摘要: 输入一个数组a[i],求b[i]=a[0]*a[1]*...a[i-1]*a[i+1]....a[n-1] 也就是除了它自己其余元素的乘积组成的数组,要求时间ON,空间O1,并且不能用除法 1.如果能用除法,可以先遍历一遍计算出总的乘积(不考虑溢出),然后在遍历一遍依次用乘积除以当前元素即可 2.不 阅读全文
posted @ 2016-09-03 21:23 0_summer 阅读(118) 评论(0) 推荐(0) 编辑
摘要: 输入一个数组,求出现次数超过n/3的元素这是求出现次数超过n/k的元素系列把数组以每组k个元素分成n/k,或者n/k+1组(当n%k!=0)时;既然要出现超过n/k次,假设这个元素存在,那么这个元素肯定至少在每组中出现一次,并且可能这样的元素有k-1个,因此还是用抵消法以求超过n/2的元素为例,既然 阅读全文
posted @ 2016-09-03 20:57 0_summer 阅读(169) 评论(0) 推荐(0) 编辑
摘要: 输入一个递增数组,没有重复的元素,输出数组的分段 For example, given [0,1,2,4,5,7], return ["0->2","4->5","7"] 已经有序了,所以直接遍历 阅读全文
posted @ 2016-09-03 18:31 0_summer 阅读(108) 评论(0) 推荐(0) 编辑
摘要: 和上题差不多http://www.cnblogs.com/0summer/p/5837634.html 输入一个字符串,代表一个表达式,包含的运算符有+,-,*,/ 本题没有包括括号,我的做法是把数字和+或者-压栈,继续遍历,如果遇到*或者/取出栈顶的数字和*或者/之后的数字进行计算然后再压栈,最后 阅读全文
posted @ 2016-09-03 18:19 0_summer 阅读(178) 评论(0) 推荐(0) 编辑
摘要: 输入一个字符串,包含数字或者+,-,(,),求这个表达式的结果 1.没有括号时顺序执行 2.有括号时先计算括号内的表达式 这里用一个栈来保存遇到括号(之前的表达式的结果,也就是说没遇到括号之前,按顺序正常执行设结果为x,遇到括号之后要先计算括号内的表达式,设结果为y,然后再把y拿出来和x顺序执行。因 阅读全文
posted @ 2016-09-03 17:41 0_summer 阅读(280) 评论(0) 推荐(0) 编辑