锘??xml version="1.0" encoding="utf-8" standalone="yes"?>中文成人久久久久影院免费观看,午夜肉伦伦影院久久精品免费看国产一区二区三区 ,亚洲国产成人精品女人久久久http://m.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://m.shnenglu.com/Uriel/articles/230261.htmlUrielUrielTue, 23 Jan 2024 10:54:00 GMThttp://m.shnenglu.com/Uriel/articles/230261.htmlhttp://m.shnenglu.com/Uriel/comments/230261.htmlhttp://m.shnenglu.com/Uriel/articles/230261.html#Feedback0http://m.shnenglu.com/Uriel/comments/commentRss/230261.htmlhttp://m.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://m.shnenglu.com/Uriel/articles/230248.htmlUrielUrielTue, 02 Jan 2024 13:04:00 GMThttp://m.shnenglu.com/Uriel/articles/230248.htmlhttp://m.shnenglu.com/Uriel/comments/230248.htmlhttp://m.shnenglu.com/Uriel/articles/230248.html#Feedback0http://m.shnenglu.com/Uriel/comments/commentRss/230248.htmlhttp://m.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://m.shnenglu.com/Uriel/articles/230243.htmlUrielUrielSat, 30 Dec 2023 13:21:00 GMThttp://m.shnenglu.com/Uriel/articles/230243.htmlhttp://m.shnenglu.com/Uriel/comments/230243.htmlhttp://m.shnenglu.com/Uriel/articles/230243.html#Feedback0http://m.shnenglu.com/Uriel/comments/commentRss/230243.htmlhttp://m.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://m.shnenglu.com/Uriel/articles/230231.htmlUrielUrielSat, 16 Dec 2023 10:28:00 GMThttp://m.shnenglu.com/Uriel/articles/230231.htmlhttp://m.shnenglu.com/Uriel/comments/230231.htmlhttp://m.shnenglu.com/Uriel/articles/230231.html#Feedback0http://m.shnenglu.com/Uriel/comments/commentRss/230231.htmlhttp://m.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://m.shnenglu.com/Uriel/articles/230229.htmlUrielUrielFri, 15 Dec 2023 08:28:00 GMThttp://m.shnenglu.com/Uriel/articles/230229.htmlhttp://m.shnenglu.com/Uriel/comments/230229.htmlhttp://m.shnenglu.com/Uriel/articles/230229.html#Feedback0http://m.shnenglu.com/Uriel/comments/commentRss/230229.htmlhttp://m.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://m.shnenglu.com/Uriel/articles/230079.htmlUrielUrielTue, 12 Sep 2023 09:17:00 GMThttp://m.shnenglu.com/Uriel/articles/230079.htmlhttp://m.shnenglu.com/Uriel/comments/230079.htmlhttp://m.shnenglu.com/Uriel/articles/230079.html#Feedback0http://m.shnenglu.com/Uriel/comments/commentRss/230079.htmlhttp://m.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://m.shnenglu.com/Uriel/articles/230078.htmlUrielUrielMon, 11 Sep 2023 08:24:00 GMThttp://m.shnenglu.com/Uriel/articles/230078.htmlhttp://m.shnenglu.com/Uriel/comments/230078.htmlhttp://m.shnenglu.com/Uriel/articles/230078.html#Feedback0http://m.shnenglu.com/Uriel/comments/commentRss/230078.htmlhttp://m.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://m.shnenglu.com/Uriel/articles/230027.htmlUrielUrielSun, 27 Aug 2023 08:33:00 GMThttp://m.shnenglu.com/Uriel/articles/230027.htmlhttp://m.shnenglu.com/Uriel/comments/230027.htmlhttp://m.shnenglu.com/Uriel/articles/230027.html#Feedback0http://m.shnenglu.com/Uriel/comments/commentRss/230027.htmlhttp://m.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://m.shnenglu.com/Uriel/articles/229974.htmlUrielUrielFri, 14 Jul 2023 09:15:00 GMThttp://m.shnenglu.com/Uriel/articles/229974.htmlhttp://m.shnenglu.com/Uriel/comments/229974.htmlhttp://m.shnenglu.com/Uriel/articles/229974.html#Feedback0http://m.shnenglu.com/Uriel/comments/commentRss/229974.htmlhttp://m.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://m.shnenglu.com/Uriel/articles/229941.htmlUrielUrielFri, 23 Jun 2023 09:20:00 GMThttp://m.shnenglu.com/Uriel/articles/229941.htmlhttp://m.shnenglu.com/Uriel/comments/229941.htmlhttp://m.shnenglu.com/Uriel/articles/229941.html#Feedback0http://m.shnenglu.com/Uriel/comments/commentRss/229941.htmlhttp://m.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://m.shnenglu.com/Uriel/articles/229912.htmlUrielUrielTue, 30 May 2023 13:15:00 GMThttp://m.shnenglu.com/Uriel/articles/229912.htmlhttp://m.shnenglu.com/Uriel/comments/229912.htmlhttp://m.shnenglu.com/Uriel/articles/229912.html#Feedback0http://m.shnenglu.com/Uriel/comments/commentRss/229912.htmlhttp://m.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://m.shnenglu.com/Uriel/articles/229802.htmlUrielUrielTue, 04 Apr 2023 07:42:00 GMThttp://m.shnenglu.com/Uriel/articles/229802.htmlhttp://m.shnenglu.com/Uriel/comments/229802.htmlhttp://m.shnenglu.com/Uriel/articles/229802.html#Feedback0http://m.shnenglu.com/Uriel/comments/commentRss/229802.htmlhttp://m.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://m.shnenglu.com/Uriel/articles/229710.htmlUrielUrielWed, 01 Mar 2023 11:01:00 GMThttp://m.shnenglu.com/Uriel/articles/229710.htmlhttp://m.shnenglu.com/Uriel/comments/229710.htmlhttp://m.shnenglu.com/Uriel/articles/229710.html#Feedback0http://m.shnenglu.com/Uriel/comments/commentRss/229710.htmlhttp://m.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://m.shnenglu.com/Uriel/articles/229706.htmlUrielUrielTue, 28 Feb 2023 14:15:00 GMThttp://m.shnenglu.com/Uriel/articles/229706.htmlhttp://m.shnenglu.com/Uriel/comments/229706.htmlhttp://m.shnenglu.com/Uriel/articles/229706.html#Feedback0http://m.shnenglu.com/Uriel/comments/commentRss/229706.htmlhttp://m.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://m.shnenglu.com/Uriel/articles/229667.htmlUrielUrielThu, 09 Feb 2023 11:46:00 GMThttp://m.shnenglu.com/Uriel/articles/229667.htmlhttp://m.shnenglu.com/Uriel/comments/229667.htmlhttp://m.shnenglu.com/Uriel/articles/229667.html#Feedback0http://m.shnenglu.com/Uriel/comments/commentRss/229667.htmlhttp://m.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://m.shnenglu.com/Uriel/articles/229603.htmlUrielUrielSun, 01 Jan 2023 08:03:00 GMThttp://m.shnenglu.com/Uriel/articles/229603.htmlhttp://m.shnenglu.com/Uriel/comments/229603.htmlhttp://m.shnenglu.com/Uriel/articles/229603.html#Feedback0http://m.shnenglu.com/Uriel/comments/commentRss/229603.htmlhttp://m.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://m.shnenglu.com/Uriel/articles/229543.htmlUrielUrielSun, 27 Nov 2022 16:03:00 GMThttp://m.shnenglu.com/Uriel/articles/229543.htmlhttp://m.shnenglu.com/Uriel/comments/229543.htmlhttp://m.shnenglu.com/Uriel/articles/229543.html#Feedback0http://m.shnenglu.com/Uriel/comments/commentRss/229543.htmlhttp://m.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 鍙戣〃璇勮
]]>
三上悠亚久久精品| 国产福利电影一区二区三区久久老子无码午夜伦不 | 久久国产精品免费| 久久er国产精品免费观看8| www亚洲欲色成人久久精品| 一本久久久久久久| 国产69精品久久久久观看软件| 日本欧美久久久久免费播放网| 久久97精品久久久久久久不卡| 久久久久久毛片免费看| 97久久国产露脸精品国产| 久久99精品久久久久久hb无码| 青青青青久久精品国产| 久久中文字幕视频、最近更新| 无码国内精品久久人妻| 91精品无码久久久久久五月天| 亚洲国产高清精品线久久 | 精品人妻伦九区久久AAA片69| 夜夜亚洲天天久久| 久久国产色AV免费观看| 久久av免费天堂小草播放| 久久亚洲春色中文字幕久久久| 国产激情久久久久影院小草| 99久久精品国产一区二区| 九九热久久免费视频| 97超级碰碰碰久久久久| 亚洲精品无码成人片久久| 亚洲国产婷婷香蕉久久久久久| 久久成人精品视频| 久久精品人人做人人爽电影| 亚洲AV无码1区2区久久| 伊人 久久 精品| 久久久久黑人强伦姧人妻| 91超碰碰碰碰久久久久久综合| 久久久久人妻一区二区三区vr| 久久精品人妻中文系列| 久久人人爽人人爽人人片AV麻豆| 9久久9久久精品| 成人资源影音先锋久久资源网| 亚洲va中文字幕无码久久不卡 | 久久综合亚洲色HEZYO国产 |