算法与数据结构
文章平均质量分 69
taotao193051
这个作者很懒,什么都没留下…
展开
-
String转int
题目:将String转intpublic class Solution { public int atoi(String str) { Integer num = null; int index = 0; char[] c = str.trim().toCharArray(); if (c.length==0)原创 2015-01-27 14:13:35 · 460 阅读 · 0 评论 -
Min Stack最小栈
题目:设计一个栈,该栈支持4种方法 1、push(x) 2、pop() 3、top() 4、getMin() 返回栈中最小元素,要求时间O(1) 题目不难,java中本身就有栈这个数据结构,难点在于O(1)取出栈中最小值。 思路是: 1、设置变量min,每push一个value就更新当前栈中最小值,但是如果该最小值被pop出来后,无法得知下一个最小值。(舍弃) 2、增加一个栈,每次原创 2015-01-27 14:39:18 · 707 阅读 · 0 评论 -
3数和为0问题
题目:给定一个数组,若该数组存在a+b+c=0(a,b,c均为数组中的元素),则将该子串输出(要求去除重复的) 思路: 1、穷举所有长度为3的子数组,判断和是否为0,时间复杂度为O(n3) 2、a+b+c=0,a+b=-c,因此仅穷举二元数组,然后判断-c是否存在于数组中,时间复杂度为O(n3) 3、先将数组排序,时间为O(NlongN),然后i遍历数组,取a,j=i+1,取b,k=len原创 2015-01-27 14:41:00 · 1263 阅读 · 0 评论 -
最大和子串
题目:给定一个int数组,求出该数组的最大子串的和 如int数组[−2,1,−3,4,−1,2,1,−5,4],最大子串为[4,−1,2,1],最大和为6 思路: 1、动态规划,遍历数组,设置3个变量,max_sum当前最大和,curr_sum当前和,一旦curr_sum public class Solution { public int maxSubArray(int[原创 2015-01-27 15:15:15 · 286 阅读 · 0 评论