锘??xml version="1.0" encoding="utf-8" standalone="yes"?>欧美成人免费观看久久,国产成人精品久久二区二区,东方aⅴ免费观看久久av http://www.shnenglu.com/Uriel/category/21441.htmlResearch Associate @ Harvard University / Research Interests: Computer Vision, Biomedical Image Analysis, Machine Learningzh-cnTue, 30 Jan 2024 06:44:55 GMTTue, 30 Jan 2024 06:44:55 GMT60[LeetCode]1239. Maximum Length of a Concatenated String with Unique Characters (Medium) Python-2024.01.23http://www.shnenglu.com/Uriel/articles/230261.htmlUrielUrielTue, 23 Jan 2024 10:54:00 GMThttp://www.shnenglu.com/Uriel/articles/230261.htmlhttp://www.shnenglu.com/Uriel/comments/230261.htmlhttp://www.shnenglu.com/Uriel/articles/230261.html#Feedback0http://www.shnenglu.com/Uriel/comments/commentRss/230261.htmlhttp://www.shnenglu.com/Uriel/services/trackbacks/230261.html鍏堣繃婊ゆ帀鑷韓鏈夐噸澶嶅瓧姣嶇殑錛岀劧鍚庤涓涓唴鍚玸et鐨勫垪琛紝姣忔鎵竴閬嶅垪琛ㄧ湅鑳藉惁鍔犲叆褰撳墠瀛楃涓詫紝鏈鍚庡彇鍒楄〃涓渶澶氬瓧姣嶇殑set


#1239
#
Runtime: 97 ms (Beats 50%)
#
Memory: 53.4 MB (Beats 8.49%)

class Solution(object):
    def maxLength(self, arr):
        """
        :type arr: List[str]
        :rtype: int
        
"""
        candidate = []
        for s in arr:
            u = set(s)
            if len(s) == len(u):
                candidate.append(u)
        ans = [set()]
        maxx = 0
        for i in candidate:
            for j in ans:
                if not i & j:
                    ans.append(i | j)
                    maxx = max(maxx, len(i | j))
        return maxx


Uriel 2024-01-23 18:54 鍙戣〃璇勮
]]>
[LeetCode]2610. Convert an Array Into a 2D Array With Conditions (Medium) Python-2024.01.02http://www.shnenglu.com/Uriel/articles/230248.htmlUrielUrielTue, 02 Jan 2024 13:04:00 GMThttp://www.shnenglu.com/Uriel/articles/230248.htmlhttp://www.shnenglu.com/Uriel/comments/230248.htmlhttp://www.shnenglu.com/Uriel/articles/230248.html#Feedback0http://www.shnenglu.com/Uriel/comments/commentRss/230248.htmlhttp://www.shnenglu.com/Uriel/services/trackbacks/230248.html鐢╬ython鐨凜ounter緇熻姣忎釜鏁板瓧鍑虹幇嬈℃暟錛屽啀涓嬈℃瀯閫犳瘡涓琛?br />

 1 #2610
 2 #Runtime: 60 ms (Beats 13.89%)
 3 #Memory: 13.3 MB (Beats 80.56%)
 4 
 5 class Solution(object):
 6     def findMatrix(self, nums):
 7         """
 8         :type nums: List[int]
 9         :rtype: List[List[int]]
10         """
11         ans = []
12         cnt = Counter(nums)
13         while cnt:
14             tp = []
15             used = []
16             for i, v in cnt.items():
17                 tp.append(i)
18                 cnt[i] -= 1
19                 if cnt[i] == 0:
20                     used.append(i)
21             for i in used:
22                 cnt.pop(i)
23             ans.append(tp)
24         return ans


Uriel 2024-01-02 21:04 鍙戣〃璇勮
]]>
[LeetCode]1897. Redistribute Characters to Make All Strings Equal (Easy) Python-2023.12.30http://www.shnenglu.com/Uriel/articles/230243.htmlUrielUrielSat, 30 Dec 2023 13:21:00 GMThttp://www.shnenglu.com/Uriel/articles/230243.htmlhttp://www.shnenglu.com/Uriel/comments/230243.htmlhttp://www.shnenglu.com/Uriel/articles/230243.html#Feedback0http://www.shnenglu.com/Uriel/comments/commentRss/230243.htmlhttp://www.shnenglu.com/Uriel/services/trackbacks/230243.html
 1 #1897
 2 #Runtime: 67 ms (Beats 16.67%)
 3 #Memory: 13.6 MB (Beats 83.33%)
 4 
 5 class Solution(object):
 6     def makeEqual(self, words):
 7         """
 8         :type words: List[str]
 9         :rtype: bool
10         """
11         total = ''.join(words)
12         chars = set(total)
13         for ch in chars:
14             if total.count(ch) % len(words) != 0:
15                 return False
16         return True


Uriel 2023-12-30 21:21 鍙戣〃璇勮
]]>
[LeetCode]242. Valid Anagram (Easy) Python-2023.12.16http://www.shnenglu.com/Uriel/articles/230231.htmlUrielUrielSat, 16 Dec 2023 10:28:00 GMThttp://www.shnenglu.com/Uriel/articles/230231.htmlhttp://www.shnenglu.com/Uriel/comments/230231.htmlhttp://www.shnenglu.com/Uriel/articles/230231.html#Feedback0http://www.shnenglu.com/Uriel/comments/commentRss/230231.htmlhttp://www.shnenglu.com/Uriel/services/trackbacks/230231.html

#242
#
Runtime: 20 ms (Beats 96.2%)
#
Memory: 13.7 MB (Beats 69.85%)

class Solution(object):
    def isAnagram(self, s, t):
        """
        :type s: str
        :type t: str
        :rtype: bool
        
"""
        if len(s) != len(t):
            return False
        for i in set(s):
            if s.count(i) != t.count(i):
                return False
        return True


Uriel 2023-12-16 18:28 鍙戣〃璇勮
]]>
[LeetCode]1436. Destination City (Easy) Python-2023.12.15http://www.shnenglu.com/Uriel/articles/230229.htmlUrielUrielFri, 15 Dec 2023 08:28:00 GMThttp://www.shnenglu.com/Uriel/articles/230229.htmlhttp://www.shnenglu.com/Uriel/comments/230229.htmlhttp://www.shnenglu.com/Uriel/articles/230229.html#Feedback0http://www.shnenglu.com/Uriel/comments/commentRss/230229.htmlhttp://www.shnenglu.com/Uriel/services/trackbacks/230229.html

 1 #1436
 2 #Runtime: 34 ms (Beats 59.12%)
 3 #Memory: 13.6 MB (Beats 19.34%)
 4 
 5 class Solution(object):
 6     def destCity(self, paths):
 7         """
 8         :type paths: List[List[str]]
 9         :rtype: str
10         """
11         st = set()
12         cities = set()
13         for x, y in paths:
14             st.add(x)
15             cities.add(x)
16             cities.add(y)
17         for x in cities:
18             if x not in st:
19                 return x


Uriel 2023-12-15 16:28 鍙戣〃璇勮
]]>
[LeetCode]1647. Minimum Deletions to Make Character Frequencies Unique (Medium) Python-2023.09.12http://www.shnenglu.com/Uriel/articles/230079.htmlUrielUrielTue, 12 Sep 2023 09:17:00 GMThttp://www.shnenglu.com/Uriel/articles/230079.htmlhttp://www.shnenglu.com/Uriel/comments/230079.htmlhttp://www.shnenglu.com/Uriel/articles/230079.html#Feedback0http://www.shnenglu.com/Uriel/comments/commentRss/230079.htmlhttp://www.shnenglu.com/Uriel/services/trackbacks/230079.html

 1 #1647
 2 #Runtime: 274 ms (Beats 29.54%)
 3 #Memory: 14.2 MB (Beats 87.50%)
 4 
 5 class Solution(object):
 6     def minDeletions(self, s):
 7         """
 8         :type s: str
 9         :rtype: int
10         """
11         ans = 0
12         fq_set = set()
13         cnt = collections.Counter(s)
14         for ch, fq in cnt.items():
15             while fq  and fq in fq_set:
16                 fq -= 1
17                 ans += 1
18             fq_set.add(fq)
19         return ans


Uriel 2023-09-12 17:17 鍙戣〃璇勮
]]>
[LeetCode]1282. Group the People Given the Group Size They Belong To (Medium) Python-2023.09.11http://www.shnenglu.com/Uriel/articles/230078.htmlUrielUrielMon, 11 Sep 2023 08:24:00 GMThttp://www.shnenglu.com/Uriel/articles/230078.htmlhttp://www.shnenglu.com/Uriel/comments/230078.htmlhttp://www.shnenglu.com/Uriel/articles/230078.html#Feedback0http://www.shnenglu.com/Uriel/comments/commentRss/230078.htmlhttp://www.shnenglu.com/Uriel/services/trackbacks/230078.html鐢╬ython鐨刣ict瀛樻瘡涓笉鍚宻ize鐨刧roup鐨勬垚鍛橈紝鐒跺悗鍒嗗埌涓嶅悓list杈撳嚭


 1 #1282
 2 #Runtime: 55 ms (Beats 33.33%)
 3 #Memory: 13.3 MB (Beats 84.85%)
 4 
 5 class Solution(object):
 6     def groupThePeople(self, groupSizes):
 7         """
 8         :type groupSizes: List[int]
 9         :rtype: List[List[int]]
10         """
11         ans = []
12         dic = defaultdict(list)
13         for i, sz in enumerate(groupSizes):
14             dic[sz].append(i)
15         for k, lst in dic.items():
16             for i in range(0, len(lst), k):
17                 ans.append(lst[i : i + k])
18         return ans


Uriel 2023-09-11 16:24 鍙戣〃璇勮
]]>
[LeetCode]403. Frog Jump (Hard) Python-2023.08.27http://www.shnenglu.com/Uriel/articles/230027.htmlUrielUrielSun, 27 Aug 2023 08:33:00 GMThttp://www.shnenglu.com/Uriel/articles/230027.htmlhttp://www.shnenglu.com/Uriel/comments/230027.htmlhttp://www.shnenglu.com/Uriel/articles/230027.html#Feedback0http://www.shnenglu.com/Uriel/comments/commentRss/230027.htmlhttp://www.shnenglu.com/Uriel/services/trackbacks/230027.htmlO(n^2)鐨刣p錛岀敤dict瀛樺偍stones浣嶇疆錛宒ict鐨剉alue涓鴻煩鍒拌繖涓綅緗墍鏈夊彲鑳界殑涓婁竴姝ョ殑闀垮害錛屽弬鑰冧簡Discussion -> https://leetcode.com/problems/frog-jump/solutions/3964842/python3-solution/


 1 #403
 2 #Runtime: 191 ms (Beats 50.94%)
 3 #Memory: 14.9 MB (Beats 79.25%)
 4 
 5 class Solution(object):
 6     def canCross(self, stones):
 7         """
 8         :type stones: List[int]
 9         :rtype: bool
10         """
11         n = len(stones)
12         dp = {stone:set() for stone in stones}
13         dp[0].add(0)
14         for i in range(n):
15             for j in dp[stones[i]]:
16                 for d in range(j - 1, j + 2):
17                     if d and stones[i] + d in dp:
18                         dp[stones[i] + d].add(d)
19         return len(dp[stones[-1]]) > 0


Uriel 2023-08-27 16:33 鍙戣〃璇勮
]]>
[LeetCode]1218. Longest Arithmetic Subsequence of Given Difference (Medium) Python-2023.07.14http://www.shnenglu.com/Uriel/articles/229974.htmlUrielUrielFri, 14 Jul 2023 09:15:00 GMThttp://www.shnenglu.com/Uriel/articles/229974.htmlhttp://www.shnenglu.com/Uriel/comments/229974.htmlhttp://www.shnenglu.com/Uriel/articles/229974.html#Feedback0http://www.shnenglu.com/Uriel/comments/commentRss/229974.htmlhttp://www.shnenglu.com/Uriel/services/trackbacks/229974.html

 1 #1218
 2 #Runtime: 499 ms (Beats 50%)
 3 #Memory: 24.2 MB (Beats 100%)
 4 
 5 class Solution(object):
 6     def longestSubsequence(self, arr, difference):
 7         """
 8         :type arr: List[int]
 9         :type difference: int
10         :rtype: int
11         """
12         ans = 0
13         num = {}
14         for i in range(len(arr)):
15             t = arr[i]
16             if t - difference in num:
17                 num[t] = num[t - difference] + 1
18             else:
19                 num[t] = 1
20             ans = max(ans, num[t])
21         return ans


Uriel 2023-07-14 17:15 鍙戣〃璇勮
]]>
[LeetCode]1027. Longest Arithmetic Subsequence (Medium) Python-2023.06.22http://www.shnenglu.com/Uriel/articles/229941.htmlUrielUrielFri, 23 Jun 2023 09:20:00 GMThttp://www.shnenglu.com/Uriel/articles/229941.htmlhttp://www.shnenglu.com/Uriel/comments/229941.htmlhttp://www.shnenglu.com/Uriel/articles/229941.html#Feedback0http://www.shnenglu.com/Uriel/comments/commentRss/229941.htmlhttp://www.shnenglu.com/Uriel/services/trackbacks/229941.html鍙傝冧簡Discussion -> https://leetcode.com/problems/longest-arithmetic-subsequence/solutions/3671637/hashmap-video-java-c-python/


 1 #1027
 2 #Runtime: 2571 ms (Beats 66.4%)
 3 #Memory: 45.1 MB (Beats 60.38%)
 4 
 5 class Solution(object):
 6     def longestArithSeqLength(self, nums):
 7         """
 8         :type nums: List[int]
 9         :rtype: int
10         """
11         ans = 0
12         n = len(nums)
13         dp = [defaultdict(int) for _ in range(n)]
14         for i in range(n):
15             for j in range(i):
16                 dif = nums[j] - nums[i]
17                 dp[i][dif] = dp[j].get(dif, 1) + 1
18                 ans = max(ans, dp[i][dif])
19         return ans


Uriel 2023-06-23 17:20 鍙戣〃璇勮
]]>
[LeetCode]705. Design HashSet (Easy) Python-2023.05.30http://www.shnenglu.com/Uriel/articles/229912.htmlUrielUrielTue, 30 May 2023 13:15:00 GMThttp://www.shnenglu.com/Uriel/articles/229912.htmlhttp://www.shnenglu.com/Uriel/comments/229912.htmlhttp://www.shnenglu.com/Uriel/articles/229912.html#Feedback0http://www.shnenglu.com/Uriel/comments/commentRss/229912.htmlhttp://www.shnenglu.com/Uriel/services/trackbacks/229912.html

 1 #705
 2 #Runtime: 129 ms (Beats 88.7%)
 3 #Memory: 18.8 MB (Beats 62.84%)
 4 
 5 class MyHashSet(object):
 6 
 7     def __init__(self):
 8         self.h_set = set()
 9 
10     def add(self, key):
11         """
12         :type key: int
13         :rtype: None
14         """
15         self.h_set.add(key)        
16 
17     def remove(self, key):
18         """
19         :type key: int
20         :rtype: None
21         """
22         if key in self.h_set:
23             self.h_set.remove(key)
24 
25     def contains(self, key):
26         """
27         :type key: int
28         :rtype: bool
29         """
30         if key in self.h_set:
31             return True
32         return False
33         
34 
35 
36 # Your MyHashSet object will be instantiated and called as such:
37 # obj = MyHashSet()
38 # obj.add(key)
39 # obj.remove(key)
40 # param_3 = obj.contains(key)


Uriel 2023-05-30 21:15 鍙戣〃璇勮
]]>
[LeetCode]2405. Optimal Partition of String (Medium) Python-2023.04.04http://www.shnenglu.com/Uriel/articles/229802.htmlUrielUrielTue, 04 Apr 2023 07:42:00 GMThttp://www.shnenglu.com/Uriel/articles/229802.htmlhttp://www.shnenglu.com/Uriel/comments/229802.htmlhttp://www.shnenglu.com/Uriel/articles/229802.html#Feedback0http://www.shnenglu.com/Uriel/comments/commentRss/229802.htmlhttp://www.shnenglu.com/Uriel/services/trackbacks/229802.html
 1 #2405
 2 #Runtime: 105 ms (Beats 70.83%)
 3 #Memory: 14.8 MB (Beats 95.83%)
 4 
 5 class Solution(object):
 6     def partitionString(self, s):
 7         """
 8         :type s: str
 9         :rtype: int
10         """
11         ans = 1
12         ch_set = set()
13         for i in s:
14             if i in ch_set:
15                 ch_set = set()
16                 ans += 1
17             ch_set.add(i)
18         return ans


Uriel 2023-04-04 15:42 鍙戣〃璇勮
]]>
[LeetCode]912. Sort an Array (Medium) Python-2022.03.01http://www.shnenglu.com/Uriel/articles/229710.htmlUrielUrielWed, 01 Mar 2023 11:01:00 GMThttp://www.shnenglu.com/Uriel/articles/229710.htmlhttp://www.shnenglu.com/Uriel/comments/229710.htmlhttp://www.shnenglu.com/Uriel/articles/229710.html#Feedback0http://www.shnenglu.com/Uriel/comments/commentRss/229710.htmlhttp://www.shnenglu.com/Uriel/services/trackbacks/229710.html
鍥犱負鏁版嵁鑼冨洿涓嶈秴榪?00k錛屽埄鐢╬ython鐨刣ict鍙互瀹炵幇O(n)錛屼絾鏄┖闂村鏉傚害灝變笉澶ソ鐪嬩簡


 1 #912
 2 #Runtime: 710 ms (Beats 84.97%)
 3 #Memory: 27.6 MB (Beats 10.48%)
 4 
 5 class Solution(object):
 6     def sortArray(self, nums):
 7         """
 8         :type nums: List[int]
 9         :rtype: List[int]
10         """
11         num_dict = defaultdict(lambda:0)
12         min_num = 50001
13         max_num = -50001
14         for i in nums:
15             num_dict[i] += 1
16             min_num = min(min_num, i)
17             max_num = max(max_num, i)
18         ans = []
19         for i in range(min_num, max_num + 1):
20             ans.extend([i] * num_dict[i])
21         return ans



Uriel 2023-03-01 19:01 鍙戣〃璇勮
]]>
[LeetCode]652. Find Duplicate Subtrees (Medium) Python-2023.02.28http://www.shnenglu.com/Uriel/articles/229706.htmlUrielUrielTue, 28 Feb 2023 14:15:00 GMThttp://www.shnenglu.com/Uriel/articles/229706.htmlhttp://www.shnenglu.com/Uriel/comments/229706.htmlhttp://www.shnenglu.com/Uriel/articles/229706.html#Feedback0http://www.shnenglu.com/Uriel/comments/commentRss/229706.htmlhttp://www.shnenglu.com/Uriel/services/trackbacks/229706.htmlDFS錛岀敤Counter()璁板綍姣忎竴縐嶅瓙鏍戝嚭鐜版鏁幫紙灝嗗瓙鏍戝厛搴忛亶鍘嗗茍涓旇漿鍖栦負瀛楃涓詫級

 1 #652
 2 #Runtime: 43 ms (Beats 62%)
 3 #Memory: 20.1 MB (Beats 78%)
 4 
 5 # Definition for a binary tree node.
 6 # class TreeNode(object):
 7 #     def __init__(self, val=0, left=None, right=None):
 8 #         self.val = val
 9 #         self.left = left
10 #         self.right = right
11 class Solution(object):
12     def findDuplicateSubtrees(self, root):
13         """
14         :type root: TreeNode
15         :rtype: List[TreeNode]
16         """
17 
18         ans = []
19         cnt = collections.Counter()
20 
21         def DFS(r):
22             if not r:
23                 return ''
24             tree_str = str(r.val) + '.' + DFS(r.left) + '.' + DFS(r.right)
25             if cnt[tree_str] == 1:
26                 ans.append(r)
27             cnt[tree_str] += 1
28             return tree_str
29 
30         DFS(root)
31         return ans


Uriel 2023-02-28 22:15 鍙戣〃璇勮
]]>
[LeetCode]2306. Naming a Company (Hard) Python-2023.02.08http://www.shnenglu.com/Uriel/articles/229667.htmlUrielUrielThu, 09 Feb 2023 11:46:00 GMThttp://www.shnenglu.com/Uriel/articles/229667.htmlhttp://www.shnenglu.com/Uriel/comments/229667.htmlhttp://www.shnenglu.com/Uriel/articles/229667.html#Feedback0http://www.shnenglu.com/Uriel/comments/commentRss/229667.htmlhttp://www.shnenglu.com/Uriel/services/trackbacks/229667.htmlPython鐨剆et()鐢ㄦ硶錛屽弬鑰冧簡Discussion->https://leetcode.com/problems/naming-a-company/solutions/3162477/clean-codes-full-explanation-set-of-array-c-java-python3/


 1 #2306
 2 #Runtime: 513 ms (Beats 66.67%)
 3 #Memory: 33.1 MB (Beats 50%)
 4 
 5 class Solution(object):
 6     def distinctNames(self, ideas):
 7         """
 8         :type ideas: List[str]
 9         :rtype: int
10         """
11         suf = [set() for _ in range(26)]
12         for c in ideas:
13             suf[ord(c[0]) - ord('a')].add(c[1:])
14         ans = 0
15         for i in range(25):
16             for j in range(i + 1, 26):
17                 cnt = len(suf[i] & suf[j])
18                 ans += 2 * (len(suf[i]) - cnt) * (len(suf[j]) - cnt)
19         return ans


Uriel 2023-02-09 19:46 鍙戣〃璇勮
]]>
[LeetCode]290. Word Pattern (Easy) Python-2021.01.31/2023.01.01http://www.shnenglu.com/Uriel/articles/229603.htmlUrielUrielSun, 01 Jan 2023 08:03:00 GMThttp://www.shnenglu.com/Uriel/articles/229603.htmlhttp://www.shnenglu.com/Uriel/comments/229603.htmlhttp://www.shnenglu.com/Uriel/articles/229603.html#Feedback0http://www.shnenglu.com/Uriel/comments/commentRss/229603.htmlhttp://www.shnenglu.com/Uriel/services/trackbacks/229603.html
Example 1:
Input: pattern = "abba", s = "dog cat cat dog"
Output: true
Example 2:
Input: pattern = "abba", s = "dog cat cat fish"
Output: false

Example 3:
Input: pattern = "aaaa", s = "dog cat cat dog"
Output: false

鍐欐硶涓錛氱敤瀛楀吀璁板綍浠庢瘡涓崟璇嶅埌涓涓瓧姣嶇殑鏄犲皠錛屽啀鐢ㄤ竴涓猻et淇濆瓨宸茬粡鎷ユ湁鏄犲皠鍊肩殑瀛楁瘝錛堝惁鍒檈xample3浼氶敊錛?br />
 1 #290
 2 #Runtime: 18 ms (Beats 81.66%)
 3 #Memory: 13.2 MB (Beats 98.30%)
 4 
 5 class Solution(object):
 6     def wordPattern(self, pattern, s):
 7         """
 8         :type pattern: str
 9         :type s: str
10         :rtype: bool
11         """
12         str_lst = s.split()
13         str_dct = {}
14         chr_set = set()
15         i = 0
16         if len(pattern) != len(str_lst):
17             return False
18         for i in range(len(str_lst)):
19             if str_lst[i] in str_dct:
20                 if str_dct[str_lst[i]] != pattern[i]:
21                     return False
22             else:
23                 if pattern[i] in chr_set:
24                     return False
25                 chr_set.add(pattern[i])
26                 str_dct[str_lst[i]] = pattern[i]
27             i += 1
28         return True


鍐欐硶浜岋細鐢ㄥ瓧鍏歌褰曚粠姣忎釜鍗曡瘝鍒頒竴涓瓧姣嶇殑鏄犲皠錛屾瘡嬈℃煡鎵懼瓧鍏哥殑values鏉ュ垽鏂槸鍚︿笌宸叉湁鐨勬槧灝勫奸噸澶嶏紙榪欐牱鏃墮棿鏁堢巼涓嶅set錛?br />
 1 #290
 2 #Runtime: 36 ms (Beats 15.62%)
 3 #Memory: 13.5 MB (Beats 71.99%)
 4 
 5 class Solution(object):
 6     def wordPattern(self, pattern, s):
 7         """
 8         :type pattern: str
 9         :type s: str
10         :rtype: bool
11         """
12         str_list = s.split(" ")
13         dt = {}
14         if len(pattern) != len(str_list):
15             return False
16         for i in range(0, len(pattern)):
17             if dt.has_key(pattern[i]):
18                 if dt[pattern[i]] != str_list[i]:
19                     return False
20             else:
21                 if str_list[i] in dt.values():
22                     return False
23                 dt[pattern[i]] = str_list[i]
24         return True



Uriel 2023-01-01 16:03 鍙戣〃璇勮
]]>
[LeetCode]446. Arithmetic Slices II - Subsequence (Hard) C/Python-2022.11.27http://www.shnenglu.com/Uriel/articles/229543.htmlUrielUrielSun, 27 Nov 2022 16:03:00 GMThttp://www.shnenglu.com/Uriel/articles/229543.htmlhttp://www.shnenglu.com/Uriel/comments/229543.htmlhttp://www.shnenglu.com/Uriel/articles/229543.html#Feedback0http://www.shnenglu.com/Uriel/comments/commentRss/229543.htmlhttp://www.shnenglu.com/Uriel/services/trackbacks/229543.html
1  <= nums.length <= 1000
-231 <= nums[i] <= 231 - 1
榪欓鎸夌収鎬濊礬鏉ヨ錛屽ぇ姒傛槸Medium闅懼害鐨凞P錛岀敤python涔熺壒鍒柟渚垮ソ鍐欙紝浜庢槸闂茶亰鏃犺闈炶鐢–鍐欎簡涓閬嶏紝灝辯湡鐨勫彉Hard妯″紡浜嗭紝鎼炰簡n嬈℃墠AC錛屽彂鐜版灉鐒舵病鏈夊埆浜虹敤C鏉ュ啓銆傘? =||
鎬葷殑鎬濊礬錛歞p[i][dif]淇濆瓨澶勭悊鍒扮i涓暟錛屼笖鐩擱偦鏁板樊鍊間負dif鐨勫瓙鏁板垪涓暟錛宒p鏇存柊錛?br />
for i in range(len(nums)):
   for j in range(i):
      dif = nums[j] - nums[i]
      dp[i][dif] += dp[j][dif] + 1
      ans += dp[j][dif]

Python寰堝ソ鍐欙紝鐢╠ict淇濆瓨鎵鏈夊彲鑳界殑dif鍊煎氨琛岋細

 1 #446
 2 #Runtime: 2028 ms
 3 #Memory Usage: 74.3 MB
 4 
 5 class Solution(object):
 6     def numberOfArithmeticSlices(self, nums):
 7         """
 8         :type nums: List[int]
 9         :rtype: int
10         """
11         dp = [defaultdict(int) for _ in range(len(nums))]
12         ans = 0
13         for i in range(len(nums)):
14             for j in range(i):
15                 dif = nums[j] - nums[i]
16                 dp[i][dif] += dp[j][dif] + 1
17                 ans += dp[j][dif]
18         return ans


C璇█鐗堬紝鎬濊礬鍚屼笂錛屼絾鍥犱負C閲岄潰娌℃湁濂界敤鐨刣ict錛屾墍浠ョ敤浜咹ash錛孡eetCode鏀寔uthash錛屽彟澶栧鏋滅洿鎺ash錛岄偅涔坉if鐨勫彲鑳芥т細闈炲父澶э紙cnt淇濆瓨鎵鏈塪if鐨勫彲鑳芥ф暟閲忥級錛宒p鏁扮粍娌℃硶寮閭d箞澶э紝浜庢槸錛屽彧淇濆瓨鐪熺殑褰㈡垚浜?涓垨浠ヤ笂鏁板瓧鐨勭瓑宸暟鍒楃殑dif鍊鹼紙鐢╟nt2鏉ヤ繚瀛樼鍚堣繖鏍鋒潯浠剁殑dif鍊肩殑鏁伴噺錛夛紝鍦ㄥ紑dp鏁扮粍鐨勬椂鍊欑浜岀淮寮澶氬ぇ涔熸湁涓鐐瑰皬trick
浜や笂鍘葷殑緇撴灉錛?br />
Runtime: 799 ms, faster than 100.00% of C online submissions for Arithmetic Slices II - Subsequence.
Memory Usage: 240.9 MB, less than 100.00% of C online submissions for Arithmetic Slices II - Subsequence.
Accepted Solutions Runtime Distribution
Sorry. We do not have enough accepted submissions to show distribution chart.
Accepted Solutions Memory Distribution
Sorry. We do not have enough accepted submissions to show distribution chart.
Invite friends to challenge Arithmetic Slices II - Subsequence
 1 //446
 2 //Runtime: 799 ms
 3 //Memory Usage: 240.9 MB
 4 
 5 struct hashTable {
 6     long long key;
 7     int val;
 8     int init;
 9     UT_hash_handle hh;
10 };
11 
12 struct hashTable* dict;
13 
14 struct hashTable* find(long long k) {
15     struct hashTable* t;
16     HASH_FIND(hh, dict, &k, sizeof(long long), t);
17     return t;
18 }
19 
20 int min(int a, int b) {
21     return a<b?a:b;
22 }
23 
24 void insert(long long k, int v, int id) {
25     struct hashTable* t = malloc(sizeof(struct hashTable));
26     t->key = k;
27     t->val = v;
28     t->init = id;
29     HASH_ADD(hh, dict, key, sizeof(long long), t);
30 }
31 
32 int numberOfArithmeticSlices(int* nums, int numsSize){
33     int ans = 0;
34     int cnt = 0;
35     int idx[numsSize*numsSize];
36     int cnt2 = 0;
37     int dp[numsSize][min(numsSize*numsSize,(int)10000000/numsSize)];
38     memset(dp, 0, sizeof(dp));
39     memset(idx, -1, sizeof(idx));
40     dict = NULL;
41     for(int i = 0; i < numsSize; ++i) {
42         for(int j  = 0; j < i; ++j) {
43             long long dif = (long long)nums[j] - (long long)nums[i];          
44             struct hashTable* it = find(dif);
45             if(it == NULL) {
46                 insert(dif, cnt, i);                
47                 ++cnt;
48             }
49             else {
50                 if(idx[it->val] == -1) {
51                     idx[it->val] = cnt2;
52                     dp[it->init][cnt2] = 1;
53                     dp[i][cnt2] += dp[j][cnt2] + 1;
54                     ans += dp[j][cnt2];
55                     ++cnt2;
56                 }
57                 else {
58                     dp[i][idx[it->val]] += dp[j][idx[it->val]] + 1;
59                     ans += dp[j][idx[it->val]];
60                 }
61             }
62             
63         }
64     }
65     return ans;
66 }



Uriel 2022-11-28 00:03 鍙戣〃璇勮
]]>
国产激情久久久久影院| 国产亚洲精品美女久久久| 久久亚洲中文字幕精品一区四| 久久精品中文字幕有码| 中文字幕久久亚洲一区| 国产精品无码久久综合| 国产精品成人99久久久久91gav| 亚洲国产精品综合久久一线 | 欧美国产成人久久精品| 性高湖久久久久久久久| 久久99精品国产麻豆婷婷| 久久精品卫校国产小美女| 久久99国产精品一区二区| 狠狠色丁香久久婷婷综合蜜芽五月| 久久男人Av资源网站无码软件| 成人a毛片久久免费播放| 无码人妻久久久一区二区三区| 伊人久久大香线蕉精品| 亚洲综合熟女久久久30p| 久久精品免费网站网| 日本福利片国产午夜久久| 亚洲AV无码成人网站久久精品大| 久久精品国产只有精品66 | 久久人人青草97香蕉| 国产精品久久久亚洲| 亚洲精品国产美女久久久| 一本色道久久综合| 日韩美女18网站久久精品| 国产99久久久国产精免费| 久久久久一区二区三区| 狠狠88综合久久久久综合网| 久久精品免费一区二区| 欧美日韩久久中文字幕| 欧美与黑人午夜性猛交久久久| 国产999精品久久久久久| 成人精品一区二区久久| 精品国产乱码久久久久久浪潮| 国产精品岛国久久久久| 亚洲综合精品香蕉久久网97| 久久久久99精品成人片直播| 97久久综合精品久久久综合|