日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

LeetCode第五天

發布時間:2023/11/29 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 LeetCode第五天 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

leetcode 第五天

2018年1月6日

22.(566) Reshape the Matrix


JAVA
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
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
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
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
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
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
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
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;} }

轉載于:https://www.cnblogs.com/guoyaohua/p/8215722.html

總結

以上是生活随笔為你收集整理的LeetCode第五天的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。