diff --git a/problems/0055.跳跃游戏.md b/problems/0055.跳跃游戏.md index a25c831a..ae2cbd1e 100644 --- a/problems/0055.跳跃游戏.md +++ b/problems/0055.跳跃游戏.md @@ -122,6 +122,24 @@ class Solution: ``` Go: +```Go +func canJUmp(nums []int) bool { + if len(nums)<=1{ + return true + } + dp:=make([]bool,len(nums)) + dp[0]=true + for i:=1;i=0;j--{ + if dp[j]&&nums[j]+j>=i{ + dp[i]=true + break + } + } + } + return dp[len(nums)-1] +} +``` diff --git a/problems/0383.赎金信.md b/problems/0383.赎金信.md index 2f7ae4d8..527945fa 100644 --- a/problems/0383.赎金信.md +++ b/problems/0383.赎金信.md @@ -136,7 +136,34 @@ class Solution { ``` Python: - +``` +class Solution(object): + def canConstruct(self, ransomNote, magazine): + """ + :type ransomNote: str + :type magazine: str + :rtype: bool + """ + + # use a dict to store the number of letter occurance in ransomNote + hashmap = dict() + for s in ransomNote: + if s in hashmap: + hashmap[s] += 1 + else: + hashmap[s] = 1 + + # check if the letter we need can be found in magazine + for l in magazine: + if l in hashmap: + hashmap[l] -= 1 + + for key in hashmap: + if hashmap[key] > 0: + return False + + return True +``` Go: diff --git a/problems/0454.四数相加II.md b/problems/0454.四数相加II.md index a2ef928b..ad928a3f 100644 --- a/problems/0454.四数相加II.md +++ b/problems/0454.四数相加II.md @@ -121,6 +121,37 @@ class Solution { Python: +``` +class Solution(object): + def fourSumCount(self, nums1, nums2, nums3, nums4): + """ + :type nums1: List[int] + :type nums2: List[int] + :type nums3: List[int] + :type nums4: List[int] + :rtype: int + """ + # use a dict to store the elements in nums1 and nums2 and their sum + hashmap = dict() + for n1 in nums1: + for n2 in nums2: + if n1 + n2 in hashmap: + hashmap[n1+n2] += 1 + else: + hashmap[n1+n2] = 1 + + # if the -(a+b) exists in nums3 and nums4, we shall add the count + count = 0 + for n3 in nums3: + for n4 in nums4: + key = - n3 - n4 + if key in hashmap: + count += hashmap[key] + return count + + +``` + Go: diff --git a/problems/0516.最长回文子序列.md b/problems/0516.最长回文子序列.md index d2253a4e..7736b69f 100644 --- a/problems/0516.最长回文子序列.md +++ b/problems/0516.最长回文子序列.md @@ -175,36 +175,35 @@ Python: Go: ```Go func longestPalindromeSubseq(s string) int { - str:=[]byte(s) - dp:=make([][]int,len(s)) - for i:=0;i=0;j--{ - if str[i]==str[j]{ - if j==i-1{ - dp[j][i]=2 - }else{ - dp[j][i]=dp[j+1][i-1]+2 - } - }else{ - dp[j][i]=Max(dp[j+1][i],dp[j][i-1]) - } - } - } - return dp[0][len(s)-1] -} -func Max(a,b int)int{ - if a>b{ - return a - } - return b + lenth:=len(s) + dp:=make([][]int,lenth) + for i:=0;i=0;i--{ + for j:=i+1;j