![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
leetcode
紫砂痕
这个作者很懒,什么都没留下…
展开
-
编辑距离解析
编辑距离解析。原创 2022-08-05 21:52:34 · 179 阅读 · 0 评论 -
leetcode交替二进制字符串
0. 交替二进制字符串交替二进制字符串 是指有0,1 构成的、且0,1相间的字符串,比如“010”, “1010”解决的方法,可以遍历两种可能:‘0’开头的交替字符串 或者 ‘1’ 开头的字符串。1. leetcode 1758 生成交替二进制字符串的最少操作数class Solution: def minOperations(self, s: str) -> int: temp1 = 0 temp2 = 0 for i in rang原创 2021-06-06 17:36:22 · 218 阅读 · 0 评论 -
leetcode BFS
1. leetcode 网络延迟时间有解时,就是求最短距离的问题,到所有叶子节点的最短距离的最大值。import collectionsclass Solution: def networkDelayTime(self, times: List[List[int]], n: int, k: int) -> int: dicta = collections.defaultdict(list) for t in times: dict原创 2021-04-06 23:49:18 · 112 阅读 · 0 评论 -
leetcode堆
1. leetcode 1054 距离相等的条形码```pythonimport collectionsclass Solution: def rearrangeBarcodes(self, barcodes: List[int]) -> List[int]: if len(barcodes) == 1: return barcodes res = [] dicta = collections.defaultdi原创 2021-04-05 00:25:27 · 71 阅读 · 0 评论 -
leetcode二叉树
二叉树的一些事情1.二叉树的特点1.1 题1. leetcode235 二叉搜索树的最近公共祖先。1.1.11.1.2 结合二叉搜索树的特性1.1.3 递归解法1.二叉树的特点1.1 题1. leetcode235 二叉搜索树的最近公共祖先。1.1.1搜索到对应的p和q 所在位置,并记录先前的父节点找到的最后一个共有的节点,也就是最近公共点# Definition for a binary tree node.# class TreeNode:# def __init__(s原创 2021-04-04 18:23:54 · 319 阅读 · 1 评论 -
leetcode 1722
0. 题目1. 并查集+ 哈希表import collectionsclass Solution: def minimumHammingDistance(self, source: List[int], target: List[int], allowedSwaps: List[List[int]]) -> int: n = len(source)+1 f = [i for i in range(n)] def getfather(x)原创 2021-02-01 23:02:15 · 110 阅读 · 0 评论 -
leetcode-1726同积元组
1. 题目留意:一组数据可以组成8个满足条件的元组结合排序!!! 很关键2. 解决方法:1. 排序 + dfs得到数据的排列组合class Solution: def isSatisitfy(self, num): if num[0]*num[3] == num[2]*num[1]: return True else: return False def tupleSa原创 2021-01-23 00:07:05 · 203 阅读 · 1 评论 -
leetcode --贪心算法
1. 贪心算法问题可分解为多个子问题;问题的最优解,可由每个子问题的最优解构成2. 5634.删除子字符串的最大得分解法一:class Solution: def maximumGain(self, s: str, x: int, y: int) -> int: res = 0 if y>x: s1 = "ba" v1 = y s2 = "ab"原创 2021-01-10 18:47:47 · 137 阅读 · 0 评论 -
leetcode --位运算基础知识以及应用
1. 位运算基础1.1 基本表达a与b: a&ba或b: a|ba异或b: a^b1.2 进制转换2. 题目2.1 5649. 解码异或后的数组这个题目考查异或相关的知识a^b=c 能推出c^b =aclass Solution: def decode(self, encoded: List[int], first: int) -> List[int]: res = [first] for i in range(len(enco原创 2021-01-10 17:46:54 · 206 阅读 · 0 评论 -
leetcode--差分数组
0. 差分数组的概念:常用于某个区间值都需加/减去a的问题。1. 1094拼车class Solution: def carPooling(self, trips: List[List[int]], capacity: int) -> bool: max_val = 0 for i in range(len(trips)): max_val = max(max_val, trips[i][2]) diff = [0原创 2021-01-05 23:37:14 · 1325 阅读 · 0 评论 -
leetcode 深度搜索 1641.统计字典序元音字符串的数目
class Solution: def countVowelStrings(self, n: int) -> int: result = 0 s="aeiou" def dfs(s,res): nonlocal result if len(res)==n: result+=1 return if len(s)=.原创 2020-12-06 23:49:56 · 191 阅读 · 0 评论 -
leetcode5619.最小不兼容性
1. 元素按个数排序,再依次分配class Solution: def minimumIncompatibility(self, nums: List[int], k: int) -> int: if len(nums)%k!=0: return -1 dicta = {} for s in nums: if s not in dicta: dicta[s] =1.原创 2020-12-06 23:26:22 · 182 阅读 · 1 评论 -
N皇后问题,暴力回溯算法
class Solution: def isValid(self, board,idx_i,idx_j): n = len(board) for k in range(n): # 判断有没有在同一行的 if board[idx_i][k] == "Q": return False # 判断有没有在同一行的 if board[k][idx_.原创 2020-12-06 00:23:32 · 163 阅读 · 0 评论 -
leetcode深度搜索DFS--路径之和
1. 112 路径之和这个题目的最大特点就是起点是根节点,终点是叶子节点,存在一条符合条件的路径就返回True。1.1 方法一: 可以结合栈,来先序遍历完,看是否存在满足条件的路径:class Solution: def hasPathSum(self, root: TreeNode, sum: int) -> bool: if not root: return False stacks=[(sum-root.val,root)]原创 2020-11-23 23:20:16 · 219 阅读 · 1 评论 -
leetcode查并集--朋友圈/冗余连接
查并集的几个步骤查询父节点merge遍历原创 2020-11-21 11:04:13 · 203 阅读 · 0 评论 -
5602 leetcode ,前缀和+哈希 以及滑动窗口
1. 前缀和+哈希2. 滑动窗口解法这个问题也可以看作是求中间最长子数组等于sum-xclass Solution: def minOperations(self, nums: List[int], x: int) -> int: left = 0 N = len(nums) res = -1 sub=sum(nums)-x for i in range(N): sub = sub-.原创 2020-11-16 22:39:23 · 231 阅读 · 0 评论 -
Leetcode刷题--《滑动窗口》
滑动窗口方法一般用于处于连续子串的问题。0. 模板1. 209class Solution: def minSubArrayLen(self, s: int, nums: List[int]) -> int: if not nums: return 0 res = len(nums)+1 left = 0 val_sum=0 for i in range(len(nums)):原创 2020-11-12 23:50:00 · 138 阅读 · 0 评论 -
leetcode刷题--《括号》
1. 32. 最长有效括号注意: 子串是连续的1.1 解法一:dfsclass Solution: def longestValidParentheses(self, s: str) -> int: stack = [] max_len = 0 def dfs(sub, i, left, right): nonlocal max_len if left < right:原创 2020-11-09 23:26:34 · 192 阅读 · 0 评论 -
leetcode-腾讯50题day2
1. 215. 数组中的第K个最大元素1.1 题目链接https://leetcode-cn.com/problems/kth-largest-element-in-an-array/1.2 代码原创 2019-08-06 19:48:24 · 101 阅读 · 0 评论 -
leetcode-腾讯50题day1
有效的括号有效的括号最小栈有效的括号https://leetcode-cn.com/problems/valid-parentheses/submissions/class Solution: def isValid(self, s: str) -> bool: if len(s)==0: return True elif...原创 2019-08-04 16:27:22 · 113 阅读 · 0 评论 -
Day2 leetcode/牛客
二维数组中的查找 题目描述解法: 从右上角开始,两个index(i,j), 一步步查找,题目描述在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。解法: 从右上角开始,两个index(i,j), 一步步查找,# -*- coding:utf-8 -*...原创 2019-04-01 22:02:18 · 80 阅读 · 0 评论 -
leetcode练习
leetcodeleetcode第二题class Solution: def addTwoNumbers(self, l1: ListNode, l2: ListNode) -> ListNode: h1=l1 p1=l1 p2=l2 mark=0 while p1.next or p2....原创 2019-03-31 22:02:25 · 148 阅读 · 0 评论