def main(): print('come on!') print( '======================================== 力扣 ========================================' ) print('----- 2020年09月09日 -----') solution = Solution() print(solution.longestCommonPrefix(["flower", "flow", "flight"])) print('----- 2020年09月11日 -----') print(solution.intersection([1, 2, 2, 1], [2, 2])) print(solution.intersection_sorted([1, 2, 3, 4, 4, 13], [1, 4, 9, 10])) print('----- 2020年09月16日 -----') print(solution.binary_search([1, 2, 3, 46, 100], 100)) print('----- 2020年09月21日 -----') print(solution.firstUniqChar('abaaccdeff')) print(solution.merge([1, 2, 3, 4, 5], [2, 5, 6])) print(solution.checkValidString('(){}[]')) print(solution.reverse(123)) print(solution.reverseString('hello')) print(solution.singleNumber([4, 1, 2, 1, 2])) print('----- 2020年09月22日 -----') print(solution.numWays(5)) print('----- 2020年09月23日 -----') print(solution.coinChange([1, 2, 5], 11)) print(solution.isAnagram('art', 'rat')) print('----- 2020年09月29日 -----') print(solution.isPalindrome(-121)) print(solution.two_sum([1, 2, 7, 10], 9)) print('----- 2020年11月03日 -----') print(solution.romanToInt('LVIII')) print('----- 2020年11月05日 -----') print(solution.lengthOfLongestSubstring('abcabcbb')) print('----- 2020年12月17日 -----') print(solution.maxSubArray([-2, 1, -3, 4, -1, 2, 1, -5, 4])) print( '======================================== 基础 ========================================' ) print('----- 2020年09月11日 -----') basic = Basic() testArr = [1, 8, 5, 2, 1, 5, 6, 3, 9, 7, 4] print(testArr) basic.quickSort(testArr, 0, len(testArr) - 1) print(testArr) print('----- 2020年09月16日 -----') print(basic.binary_search_left([1, 2, 2, 2, 3], 0)) print(basic.binary_search_right([1, 2, 2, 2, 3], 2)) print('----- 2020年09月22日 -----') # for i in range(101): print(basic.fib1(10)) print(basic.fib2(10)) print(basic.fib3(10)) print('----- 2020年09月24日 -----') print('构造单向链表') head = None cur = None for i in range(1, 11): node = Node(i) node.next = None if head == None: head = node else: cur.next = node # 设置当前节点为新节点 cur = node util = LinkListUtil() util.printAll(head) print(util.length(head)) print(util.isHasCycle(head)) util.printAll(util.reverse(head)) print('----- 2020年10月10日 -----') arr1 = [ [1, 2, 3, 4], [5, 6, 7], [8], ] basic.scanBy45(arr1) arr2 = [] basic.scanBy45(arr2) print( '======================================== 困难 ========================================' ) print('----- 2020年10月19日 -----') difficultSolution = DifficultSolution() print(difficultSolution.maxSlidingWindow([1, 3, -1, -3, 5, 3, 6, 7], 3))