BiWeekly Contest
限制 :
1 <= nums1.length, nums2.length <= 9
1 <= nums1[i], nums2[i] <= 9
因為1位數比2位數小,所以要先尋找num1和num2有無交集,有交集要優先使用交集裡最小的數字做為答案。
程式碼:
限制 :
1 <= s.length <= 105
s
consist of lowercase English letters.1 <= chars.length <= 26
chars
consist of distinct lowercase English letters.vals.length == chars.length
-1000 <= vals[i] <= 1000
本質上就是求array中subarray總和最大的問題,直接套用該演算法即可。
程式碼:
限制 :
1 <= k <= arr.length <= 105
1 <= arr[i] <= 109
程式碼:
限制 :
2 <= n <= 1000
1 <= edges.length <= 1000
edges[i].length == 2
0 <= ui, vi < n
ui != vi
每個點都DFS一次,並記錄每個路過的點的深度,如果走到第二次就計算這2個深度的差值,該差值就是cycle的長度
應該能優化,假設有多個不相連的cycle,做完時把那個點所在的迴圈中的所有點記錄起來,之後就不用重做一次這個迴圈, 不過如果全部都相連就沒用了
程式碼: