- 博客(8)
- 收藏
- 关注
原创 leetcode11. Container With Most Water
public int maxArea(int[] height) { int i=0,j=height.length-1; int max=0; while(i<j){ max=Math.max(max, Math.min(height[i], height[j])*(j-i)); if(height[i
2017-02-09 14:04:49 263
原创 leetcode6. ZigZag Conversion
public String convert(String s, int numRows) { String[] str=new String[numRows]; Arrays.fill(str, ""); int i=0,j; while(i<s.length()){ for(j=0;j<numRows&&i<s
2017-02-09 12:53:13 238
原创 leetcode5. Longest Palindromic Substring
题意找出一个字符串的最长回文子字符串分析字符串最长为1000,比较短,我们可以采用动态规划的思想。 dp[i][j]表示从下标为i到下标为j的字符串是否为回文串 dp[i][j]=true if s[i]=s[j]且dp[i+1][j-1]=true public String longestPalindrome(String s) { int n=s.length();
2017-02-09 12:22:17 213
原创 leetcode 2.Add Two Numbers
题意:两个链表相加,每个链表代表一个逆序排列的数字。如2->3->5加3->5表示532+53得5->8->5 分析:同时遍历两个链表,相加,注意进位。 public ListNode addTwoNumbers(ListNode l1, ListNode l2) { ListNode re=new ListNode(0); ListNode cur
2017-02-08 16:40:02 265
原创 leetcode 1. Two Sum
题目给定一个数组,和一个目标值,返回数组中两个和为目标值的下标,假设结果只有一个分析使用hashMap存储数组元素值和下标,当map中含有target-num[i]的键时,说明已查找到。 public int[] twoSum(int[] nums, int target) { int[] re=new int[2]; HashMap<Integer, Inte
2017-02-08 16:12:31 171
原创 390. Elimination Game
public int lastRemaining(int n) { int remain=n; int head=1; int step=1; boolean left=true; while(remain>1){ if(left||(remain%2)==1){
2017-01-21 11:24:39 299
原创 leetcode 152 Maximum Product Subarray
leetcode 152 Maximum Product Subarray 题目大意:数组中找到一个连续子串,使其乘积最大。数组中至少含有一个元素。 思路:采用动态规划的思想。因为数组中含有负数,且多个负数相乘可能出现为正的情况,所以在动态规划中我们需要记录最小负数。pamin[i]代表子串最后一个元素为nums[i]的最小乘积,pamax[i]代表子串中最后一个元素为nums[i]的
2017-01-18 11:15:21 243
原创 leetcode 179 largest number
leetcode 179 largest number题目 一个非负数组,通过重新组合,使其能得到最大数。如:[3, 30, 34, 5, 9],最大数是9534330. 分析 比较两个相邻数字谁在前谁在后,自定义排序方法。我们可以将其转为字符串进行连接进行比较。如数字a和b,可以转换为ab和ba,比较大小。 再使用简单的冒泡排序,进行递减排序。 注意特殊情况,输入全为0,结果应
2017-01-18 10:43:20 315
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人