随笔分类 -  算法

摘要:void qsort(vector<int>& arr,int left,int right) { if (left >= right) return; int begin = left, end = right,pivot = arr[begin];; while(begin < end) { w 阅读全文
posted @ 2021-03-17 17:34 凝视深空 阅读(76) 评论(0) 推荐(0)
摘要:爱丽丝和鲍勃一起玩游戏,他们轮流行动。爱丽丝先手开局。 最初,黑板上有一个数字 N 。在每个玩家的回合,玩家需要执行以下操作: 选出任一 x,满足 0 < x < N 且 N % x == 0 。 用 N - x 替换黑板上的数字 N 。 如果玩家无法执行这些操作,就会输掉游戏。 只有在爱丽丝在游戏 阅读全文
posted @ 2021-03-01 21:35 凝视深空 阅读(87) 评论(0) 推荐(0)
摘要:原题 给你链表的头节点 head 和一个整数 k 。 交换 链表正数第 k 个节点和倒数第 k 个节点的值后,返回链表的头节点(链表 从 1 开始索引)。 示例 1: 输入:head = [1,2,3,4,5], k = 2输出:[1,4,3,2,5]示例 2: 输入:head = [7,9,6,6 阅读全文
posted @ 2021-02-27 18:17 凝视深空 阅读(71) 评论(0) 推荐(0)
摘要:原题 1 class Solution: 2 def maxScore(self, s: str) -> int: 3 ans,lens = 0,len(s) 4 cnt0 = s.count('0') 5 cnt1 = lens - cnt0 6 cur0 = cur1 = 0 7 for i i 阅读全文
posted @ 2021-02-17 20:24 凝视深空 阅读(97) 评论(0) 推荐(0)
摘要:原题 1 class Solution: 2 def getRow(self, rowIndex: int) -> List[int]: 3 ans = [1] 4 for i in range(rowIndex): 5 # tmp = [1] 6 # for j in range(1,len(an 阅读全文
posted @ 2021-02-12 11:40 凝视深空 阅读(79) 评论(0) 推荐(0)
摘要:原题 解法1、2都是大佬写的,题解链接 1、回溯 1 class Solution: 2 def letterCombinations(self, digits: str) -> List[str]: 3 if not digits: return [] 4 5 phone = {'2':['a', 阅读全文
posted @ 2021-02-11 17:46 凝视深空 阅读(170) 评论(0) 推荐(0)
摘要:原题 1 class Solution: 2 def searchRange(self, nums: List[int], target: int) -> List[int]: 3 ans,lens = [-1,-1],len(nums) 4 left,right,flag = 0,lens - 1 阅读全文
posted @ 2021-02-11 17:01 凝视深空 阅读(58) 评论(0) 推荐(0)
摘要:原题 这题代码写得很烂 思路: 将flowerbed数组分段,记录区间端点是0是1,保证每个区间端点以外都是连续的0序列,最后对区间端点进行分类讨论 如flowerbed数组为[0,1,0,0,0,0,1] 则分段为: 【0,1】【1,0,0,0,0,1】 对应区间去除端点外所含0序列长度num分别 阅读全文
posted @ 2021-02-10 18:36 凝视深空 阅读(79) 评论(0) 推荐(0)
摘要:原题 1 class Solution: 2 def summaryRanges(self, nums: List[int]) -> List[str]: 3 left,right,lens,ans = 0,0,len(nums),[] 4 while left < lens: 5 right = 阅读全文
posted @ 2021-02-10 14:43 凝视深空 阅读(70) 评论(0) 推荐(0)
摘要:原题 以下是我的代码,就是简单的字符串操作,可以ac但背离了题意,我之前没接触过Trie 1 class Trie: 2 3 def __init__(self): 4 """ 5 Initialize your data structure here. 6 """ 7 self.trie = se 阅读全文
posted @ 2021-02-09 12:36 凝视深空 阅读(173) 评论(0) 推荐(0)
摘要:原题 1 class Solution: 2 def intersect(self, nums1: List[int], nums2: List[int]) -> List[int]: 3 dic1,dic2 = {},{} 4 def helper(nums,dic): 5 for n in nu 阅读全文
posted @ 2021-02-09 11:34 凝视深空 阅读(94) 评论(0) 推荐(0)
摘要:原题 1 # Definition for a binary tree node. 2 # class TreeNode: 3 # def __init__(self, x): 4 # self.val = x 5 # self.left = None 6 # self.right = None 7 阅读全文
posted @ 2021-02-08 19:03 凝视深空 阅读(98) 评论(0) 推荐(0)
摘要:原题 1 class Solution: 2 def lowestCommonAncestor(self, root: 'TreeNode', p: 'TreeNode', q: 'TreeNode') -> 'TreeNode': 3 if p.val < root.val and q.val < 阅读全文
posted @ 2021-02-08 13:32 凝视深空 阅读(62) 评论(0) 推荐(0)
摘要:原题 1 class Solution: 2 def lengthOfLongestSubstring(self, s: str) -> int: 3 ans = left = 0 4 dic = {} 5 for i,c in enumerate(s): 6 if c in dic: 7 left 阅读全文
posted @ 2021-01-28 21:22 凝视深空 阅读(73) 评论(0) 推荐(0)
摘要:原题 1 class Solution: 2 def pivotIndex(self, nums: List[int]) -> int: 3 s = sum(nums) 4 left = 0 5 for i,num in enumerate(nums): 6 if 2 * left == s - n 阅读全文
posted @ 2021-01-28 19:25 凝视深空 阅读(57) 评论(0) 推荐(0)
摘要:原题105 1 class Solution: 2 def buildTree(self, preorder: List[int], inorder: List[int]) -> TreeNode: 3 def helper(prebegin,preend,inbegin,inend): 4 if 阅读全文
posted @ 2021-01-27 13:30 凝视深空 阅读(64) 评论(0) 推荐(0)
摘要:原题 1 class Solution: 2 def reverseStr(self, s: str, k: int) -> str: 3 begin,lens,ans = 0,len(s),'' 4 while begin < lens: 5 mid = begin + k 6 if mid >= 阅读全文
posted @ 2021-01-25 11:29 凝视深空 阅读(76) 评论(0) 推荐(0)
摘要:原题 1 class Solution: 2 def nextGreaterElement(self, nums1: List[int], nums2: List[int]) -> List[int]: 3 dic = {} 4 ans = [] 5 lens = len(nums2) 6 for 阅读全文
posted @ 2021-01-25 10:42 凝视深空 阅读(94) 评论(0) 推荐(0)
摘要:原题 1 class Solution: 2 ans = 0 3 def sumNumbers(self, root: TreeNode) -> int: 4 def dfs(root,n): 5 if not root:return 6 n *= 10 7 n += root.val 8 if n 阅读全文
posted @ 2021-01-24 20:50 凝视深空 阅读(93) 评论(0) 推荐(0)
摘要:原题 数组sort之后分类讨论 元素全正或全负,则最后的三个元素之积最大 部分为正部分为负,则要么最后三个元素之积最大,要么前两个元素与最后一个元素之积最大 如果nums[0]✖nums[1]>0,则不管nums[2]~nums[n-1]为正为负都是和最后一个元素之积最大 如果nums[0]✖num 阅读全文
posted @ 2021-01-24 20:37 凝视深空 阅读(73) 评论(0) 推荐(0)