前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >LeetCode第五天

LeetCode第五天

作者头像
10JQKA
发布2018-05-09 15:19:38
5840
发布2018-05-09 15:19:38

leetcode 第五天

2018年1月6日

22.(566) Reshape the Matrix
JAVA
代码语言:javascript
复制
class Solution {
    public int[][] matrixReshape(int[][] nums, int r, int c) {
        int[][] newNums = new int[r][c];
        int size = nums.length*nums[0].length;
        if(r*c != size)
            return nums;
        for(int i=0;i<size;i++){
            newNums[i/c][i%c] = nums[i/nums[0].length][i%nums[0].length];
        }
        return newNums;
    }
}
23.(268) Missing Number
JAVA
代码语言:javascript
复制
class Solution {
    /*数列求和思想*/
    public int missingNumber(int[] nums) {
        int expectSum = nums.length*(nums.length+1)/2;
        int actualSum = 0;
        for(int num : nums) actualSum += num;
        return expectSum - actualSum;
    }
}
24.(243) ==Shortest Word Distance==
JAVA
代码语言:javascript
复制
class Solution {
    public int shortestDistance(String[] words,String word1,String word2) {
        int idx1 = -1,idx2 = -1;
        int minDistance = words.length;
        int currentDistance;
        for(int i =0;i<words.length;i++){
            if(words[i].equals(word1))
                idx1=i;
            else if(words[i].equals(word2))
                idx2=i;
            
            if(idx1 != -1 && idx2 != -1){
                minDistance = Math.min(minDistance,Math.abs(idx1-idx2));
            }
        }
        return minDistance;
    }
}
25.(561) Array Partition I
JAVA
代码语言:javascript
复制
class Solution {
    public int arrayPairSum(int[] nums) {
        Arrays.sort(nums);
        int minSum = 0;
        for(int i = 0;i<nums.length;i+=2){
            minSum += Math.min(nums[i],nums[i+1]);
        }
        return minSum;
    }
}
26.(746) ==Min Cost Climbing Stairs==

==新知识点:动态规划(有点难度)==

JAVA
代码语言:javascript
复制
class Solution {
    public int minCostClimbingStairs(int[] cost) {
        int f1=0;
        int f2=0;
        int f3=0;//f3为到达每一个楼层所需要花费的最小钱数(此楼层花费不算)
        for(int i = 2;i <= cost.length;i++){
            f3 = Math.min(f1+cost[i-2],f2+cost[i-1]);
            f1 = f2;
            f2 = f3;
        }
        return f3;
    }
}
27.(724) Find Pivot Index
JAVA
代码语言:javascript
复制
class Solution {
    public int pivotIndex(int[] nums) {
        int sum = 0,leftSum = 0;
        for(int num : nums) sum+=num;
        for(int i = 0;i < nums.length;i++){
            if(leftSum == sum - leftSum - nums[i])
                return i;
            leftSum += nums[i];
        }
        return -1;
        
    }
}
28.(66) Plus One
JAVA
代码语言:javascript
复制
class Solution {
    public int[] plusOne(int[] digits) {
        int n = digits.length;
        for(int i = n-1;i>=0;i--){
            if(digits[i]<9){
                digits[i]++;
                return digits;
            }
            digits[i] = 0;
        }
        //此处是为了防止原始数字为999...的情况
        int[] result = new int[n+1];
        result[0] = 1;
        return result;
    }
}
29.(1) Two Sum

==注意Map/HashMap的声明、get()/containsKey()/put()等操作==

JAVA
代码语言:javascript
复制
class Solution {
    public int[] twoSum(int[] nums, int target) {
        Map<Integer,Integer> map = new HashMap<Integer,Integer>();
        int[] result;
        for(int i = 0;i<nums.length;i++){
            if(map.containsKey(target - nums[i])){
                return new int[] {map.get(target-nums[i]),i};
            }else{
                map.put(nums[i],i);
            }
        }
        return null;
    }
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-01-06 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • leetcode 第五天
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档