diff --git "a/0254.\345\233\240\345\255\220\347\232\204\347\273\204\345\220\210/0254-\345\233\240\345\255\220\347\232\204\347\273\204\345\220\210.py" "b/0254.\345\233\240\345\255\220\347\232\204\347\273\204\345\220\210/0254-\345\233\240\345\255\220\347\232\204\347\273\204\345\220\210.py" new file mode 100644 index 0000000..971af6f --- /dev/null +++ "b/0254.\345\233\240\345\255\220\347\232\204\347\273\204\345\220\210/0254-\345\233\240\345\255\220\347\232\204\347\273\204\345\220\210.py" @@ -0,0 +1,19 @@ +class Solution(object): + def getFactors(self, n): + """ + :type n: int + :rtype: List[List[int]] + """ + res = [] + for i in range(2, int(n ** 0.5) + 1): + if n % i == 0: + comb = sorted([i, n // i]) + if comb not in res: #È¥ÖØ + res.append(comb) + + for item in self.getFactors(n // i) : + comb = sorted([i] + item) + if comb not in res: #È¥ÖØ + res.append(comb) + + return res \ No newline at end of file diff --git "a/0318.\346\234\200\345\244\247\345\215\225\350\257\215\351\225\277\345\272\246\344\271\230\347\247\257/0318-\346\234\200\345\244\247\345\215\225\350\257\215\351\225\277\345\272\246\344\271\230\347\247\257.py" "b/0318.\346\234\200\345\244\247\345\215\225\350\257\215\351\225\277\345\272\246\344\271\230\347\247\257/0318-\346\234\200\345\244\247\345\215\225\350\257\215\351\225\277\345\272\246\344\271\230\347\247\257.py" new file mode 100644 index 0000000..24727c3 --- /dev/null +++ "b/0318.\346\234\200\345\244\247\345\215\225\350\257\215\351\225\277\345\272\246\344\271\230\347\247\257/0318-\346\234\200\345\244\247\345\215\225\350\257\215\351\225\277\345\272\246\344\271\230\347\247\257.py" @@ -0,0 +1,25 @@ +class Solution(object): + def maxProduct(self, words): + """ + :type words: List[str] + :rtype: int + """ + words = sorted(words, key = lambda x: -len(x)) + # print words + from collections import Counter + dic = [Counter(item) for item in words] + # print dic + res = 0 + l = len(words) + for i in range(l - 1): + for j in range(i + 1, l): + # print i, j, dic[i] & dic[j] + # if dic[i] & dic[j] == Counter(): + flag = 0 + for char in words[i]: + if char in dic[j]: + flag = 1 + break + if flag == 0: + res = max(res, len(words[i]) *len(words[j])) + return res \ No newline at end of file diff --git "a/0762.\344\272\214\350\277\233\345\210\266\350\241\250\347\244\272\344\270\255\350\264\250\346\225\260\344\270\252\350\256\241\347\256\227\347\275\256\344\275\215/0762-\344\272\214\350\277\233\345\210\266\350\241\250\347\244\272\344\270\255\350\264\250\346\225\260\344\270\252\350\256\241\347\256\227\347\275\256\344\275\215.py" "b/0762.\344\272\214\350\277\233\345\210\266\350\241\250\347\244\272\344\270\255\350\264\250\346\225\260\344\270\252\350\256\241\347\256\227\347\275\256\344\275\215/0762-\344\272\214\350\277\233\345\210\266\350\241\250\347\244\272\344\270\255\350\264\250\346\225\260\344\270\252\350\256\241\347\256\227\347\275\256\344\275\215.py" new file mode 100644 index 0000000..ed41b7a --- /dev/null +++ "b/0762.\344\272\214\350\277\233\345\210\266\350\241\250\347\244\272\344\270\255\350\264\250\346\225\260\344\270\252\350\256\241\347\256\227\347\275\256\344\275\215/0762-\344\272\214\350\277\233\345\210\266\350\241\250\347\244\272\344\270\255\350\264\250\346\225\260\344\270\252\350\256\241\347\256\227\347\275\256\344\275\215.py" @@ -0,0 +1,16 @@ +class Solution(object): + def countPrimeSetBits(self, L, R): + """ + :type L: int + :type R: int + :rtype: int + """ + # print 2 **14 + prime = set([ 2, 3, 5, 7, 11, 13, 17, 19]) + + res = 0 + for i in range(L, R + 1): + if bin(i).count("1") in prime: + res += 1 + return res + \ No newline at end of file diff --git "a/0941.\346\234\211\346\225\210\347\232\204\345\261\261\350\204\211\346\225\260\347\273\204/0941-\346\234\211\346\225\210\347\232\204\345\261\261\350\204\211\346\225\260\347\273\204.py" "b/0941.\346\234\211\346\225\210\347\232\204\345\261\261\350\204\211\346\225\260\347\273\204/0941-\346\234\211\346\225\210\347\232\204\345\261\261\350\204\211\346\225\260\347\273\204.py" new file mode 100644 index 0000000..b482b82 --- /dev/null +++ "b/0941.\346\234\211\346\225\210\347\232\204\345\261\261\350\204\211\346\225\260\347\273\204/0941-\346\234\211\346\225\210\347\232\204\345\261\261\350\204\211\346\225\260\347\273\204.py" @@ -0,0 +1,17 @@ +class Solution(object): + def validMountainArray(self, A): + """ + :type A: List[int] + :rtype: bool + """ + if len(A) < 3: + return False + + max_A_pos = A.index(max(A)) + if max_A_pos in [0, len(A) - 1]: + return False + + first, last = A[:max_A_pos + 1], A[max_A_pos:] + if len(first) != len(set(first)) or len(last) != len(set(last)): + return False + return first == sorted(first) and last == sorted(last)[::-1]