自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(34)
  • 资源 (1)
  • 收藏
  • 关注

原创 【Diffusion】DiffBIR: Towards Blind Image Restoration with Generative Diffusion Prior

paper:https://arxiv.org/pdf/2308.15070codes:https://github.com/xpixelgroup/diffbir

2024-07-09 15:18:47 402

原创 Paper Reading Refs

https://github.com/taowangzj/awesome-face-restorationhttps://github.com/24wenjie-li/Awesome-Face-Restorationhttps://github.com/sczhou/Awesome-Face-Restorationhttps://github.com/diff-usion/Awesome-Diffusion-Modelshttps://paperswithcode.com/task/blind-face-r

2024-07-09 15:18:26 94

原创 Leetcode编辑距离

leetcode给你两个单词 word1 和 word2,请你计算出将 word1 转换成 word2 所使用的最少操作数 。你可以对一个单词进行如下三种操作:插入一个字符删除一个字符替换一个字符解题动态规划:状态定义,状态转移,初始值dp[i][j]...

2020-05-15 17:42:09 165

原创 Leetcode到达终点数字

leetcode在一根无限长的数轴上,你站在0的位置。终点在target的位置。每次你可以选择向左或向右移动。第 n 次移动(从 1 开始),可以走 n 步。返回到达终点需要的最小移动次数。解题1.target 可能为正或负,但从0走到2:1-2+3 等价于从0走到-2:-1+2-32. 把target当成正数,每次向右走,如果sum==target,达到,如果sum>target,则说明中间一步需要向左走。3. 如果第k步从原来的正数变为负数,即sum-k-k4. 如果sum-ta

2020-05-15 15:20:27 412

原创 Leetcode字符串编辑

leetcode字符串有三种编辑操作:插入一个字符、删除一个字符或者替换一个字符。 给定两个字符串,编写一个函数判定它们是否只需要一次(或者零次)编辑。三种情况讨论:替换:字符串长度不变,考虑内部不相等的个数是否超过两个删除/插入:只变化一个字符,跳过该字符,比较剩下是否相等两个字符串长度差超过2,不符合双指针,分别从长字符的首端开始扫描至不相等处,另一个从尾端扫描,比较两个指针位置差值class Solution: def oneEditAway(self, first:

2020-05-14 10:59:47 562

原创 Leetcode 只出现一次的数字

添加链接描述数学class Solution: def singleNumber(self, nums: List[int]) -> int: return sum(set(nums))*2-sum(nums)逻辑运算符交换律:a ^ b ^ c = a ^ c ^ b任何数于0异或为任何数 0 ^ n = n相同的数异或为0: n ^ n = 0class Solution: def singleNumber(self, nums: List[

2020-05-14 10:46:36 128

原创 Leetcode 数据流的中位数

leetcode问题中位数是有序列表中间的数。如果列表长度是偶数,中位数则是中间两个数的平均值。例如,[2,3,4] 的中位数是 3[2,3] 的中位数是 (2 + 3) / 2 = 2.5思路由于数组是动态的,不断会有新的数据加入,如果每次都进行重新排序会很麻烦,考虑能维持有序的结构,平衡的二叉搜索树:左节点的值<根节点<右节点, 根节点为中位数平衡二叉搜索树的实现较...

2020-03-17 09:44:05 458

原创 Leetcode 最长不含重复字符的子字符串

leetcode问题请从字符串中找出一个最长的不包含重复字符的子字符串,计算该最长子字符串的长度。思路如果用集合set(),求出的为所有不重复的元素,但这里指的是子字符串,显然不符合题意。考虑用一个滑动窗口,如果新添加的字符串的值在窗口内有相同的值,则移动窗口左侧,当前窗口长度减小,直至这个元素不在窗口内出现,将这个元素加入窗口,记录最大窗口值class Solution: d...

2020-03-14 18:58:09 186

原创 Leetcode 矩阵中的路径

leetcode问题请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一格开始,每一步可以在矩阵中向左、右、上、下移动一格。如果一条路径经过了矩阵的某一格,那么该路径不能再次进入该格子。输入:board = [[“A”,“B”,“C”,“E”],[“S”,“F”,“C”,“S”],[“A”,“D”,“E”,“E”]], word = “ABC...

2020-03-14 18:40:18 437

原创 Leetcode 机器人的运动范围

leetcode问题地上有一个m行n列的方格,从坐标 [0,0] 到坐标 [m-1,n-1] 。一个机器人从坐标 [0, 0] 的格子开始移动,它每次可以向左、右、上、下移动一格(不能移动到方格外),也不能进入行坐标和列坐标的数位之和大于k的格子。例如,当k为18时,机器人能够进入方格 [35, 37] ,因为3+5+3+7=18。但它不能进入方格 [35, 38],因为3+5+3+8=19。...

2020-03-14 17:47:28 237

原创 Leetcode 二叉搜索树的后序遍历序列

leetcode问题输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历结果。如果是则返回 true,否则返回 false。假设输入的数组的任意两个数字都互不相同。思路二叉搜索树: 左子树的值 < 根节点的值 < 右子树的值后序遍历为: 左子树 , 右子树, 根节点那么给出数组的最后一位为root所有值小于根节点的都为左子树,其余为右子树用递归算法,可以...

2020-03-14 16:53:14 169

原创 Leetcode 队列的最大值

leetcode问题请定义一个队列并实现函数 max_value 得到队列里的最大值,要求函数max_value、push_back 和 pop_front 的均摊时间复杂度都是O(1)。若队列为空,pop_front 和 max_value 需要返回 -1思路要实现O(1)的时间复杂度,那么不能每次都对队列里的值排序求最大值,需要额外记录最大值,并且在每次执行完进队出队操作后进行更新,...

2020-03-14 11:05:19 98

原创 Leetcode 把数字翻译成字符串

leetcode问题给定一个数字,我们按照如下规则把它翻译为字符串:0 翻译成 “a” ,1 翻译成 “b”,……,11 翻译成 “l”,……,25 翻译成 “z”。一个数字可能有多个翻译。请编程实现一个函数,用来计算一个数字有多少种不同的翻译方法。示例 1:输入: 12258输出: 5解释: 12258有5种不同的翻译,分别是"bccfi", “bwfi”, “bczi”, “mcf...

2020-03-14 10:32:45 308

原创 Leetcode 圆圈中最后剩下的数字

leetcode0,1,n-1这n个数字排成一个圆圈,从数字0开始,每次从这个圆圈里删除第m个数字。求出这个圆圈里剩下的最后一个数字。例如,0、1、2、3、4这5个数字组成一个圆圈,从数字0开始每次删除第3个数字,则删除的前4个数字依次是2、0、4、1,因此最后剩下的数字是3。思路根据题目描述的规则,数字是组成一个圆圈,每次删掉第M个数后再次从0计算,可以考虑链表,每次到第M个位置,删掉该...

2020-03-01 18:01:20 224

原创 Leetcode n个骰子的点数---动态规划

leetcode把n个骰子扔在地上,所有骰子朝上一面的点数之和为s。输入n,打印出s的所有可能的值出现的概率。你需要用一个浮点数数组返回答案,其中第 i 个元素代表这 n 个骰子所能掷出的点数集合中第 i 小的那个的概率。思路n个骰子,一共有6**n种情况n=1, 和为s的情况有 F(n,s)=1 s=1,2,3,4,5,6n>1 , F(n,s) = F(n-1,s-1)+F...

2020-03-01 15:08:37 1883

原创 Leetcode 数组中数字出现的次数 II 多种解法

leetcode在一个数组 nums 中除一个数字只出现一次之外,其他数字都出现了三次。请找出那个只出现一次的数字。思路方法一: 排序后比较元素的左右值是否等于元素class Solution: def singleNumber(self, nums: List[int]) -> int: nums.sort() if nums[0]!=num...

2020-02-28 17:52:28 623

原创 Leetcode 数组中数字出现的次数

leetcode一个整型数组 nums 里除两个数字之外,其他数字都出现了两次。请写程序找出这两个只出现一次的数字。要求时间复杂度是O(n),空间复杂度是O(1)。思路运用异或运算, a^0 = 0, a ^ a = 0...

2020-02-28 16:37:50 568

原创 Leetcode 求1+2+…+n 利用位运算实现乘法

leetcode求 1+2+…+n ,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。思路利用递归,递归截至条件可以利用短路原则,a and b 如果a 为False, 则不再计算bclass Solution: def sumNums(self, n: int) -> int: ret...

2020-02-28 11:48:56 198

原创 Leetcode 扑克牌中的顺子

leetcode从扑克牌中随机抽5张牌,判断是不是一个顺子,即这5张牌是不是连续的。2~10为数字本身,A为1,J为11,Q为12,K为13,而大、小王为 0 ,可以看成任意数字。A 不能视为 14。思路对于连续的一组n个数,那么最大数-最小数=n-1扑克牌中的大小王可以视作任何数,那么最小数不是大小王的0,而是第一个非0的值,最大数-最小数<n如果扑克中有重复的数(除了视作0的大...

2020-02-28 10:28:55 735

原创 Leetcode 不用加减乘除做加法(位运算)

leetcode写一个函数,求两个整数之和,要求在函数体内不得使用 “+”、“-”、“*”、“/” 四则运算符号。思路运用位运算来模拟加法一些位运算的基本方法和技巧:12345678^ : 异或运算,两个二进制数相同时,结果为0,不同时,结果为1,一个数与0异或等于他本身异或操作得到两个数字无进位相加的结果& : 与运算,1&1=1,1&0...

2020-02-28 09:53:47 289

原创 Leetcode 包含min函数的栈

leetcode定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的 min 函数在该栈中,调用 min、push 及 pop 的时间复杂度都是 O(1)。思路方法一:辅助栈同步可以多开一个栈,来储存最小值,每次新数据进栈时,和之前的最小值进行比较,如果小于,则压入栈,否则,压入之前的最小值。保持最小值栈和数据栈的长度一致,进栈出栈的操作要同步。class MinStack:...

2020-02-28 08:50:24 269

原创 Leetcode 和为s的连续正数序列

leetcoed题目输入一个正整数 target ,输出所有和为 target 的连续正整数序列(至少含有两个数。序列内的数字由小到大排列,不同序列按照首个数字从小到大排列。示例 1:输入:target = 9输出:[[2,3,4],[4,5]]思路方法一:滑动窗口,快慢指针用两个指针,分别寻找区间,使得区间的序列和为目标值如果区间序列和大于目标值,则移动慢指针向前,快指针不用从...

2020-02-27 19:08:52 459

原创 Leetcode 剪绳子 II

leetcode题目给你一根长度为 n 的绳子,请把绳子剪成整数长度的 m 段(m、n都是整数,n>1并且m>1),每段绳子的长度记为 k[0],k[1]…k[m] 。请问 k[0]k[1]…*k[m] 可能的最大乘积是多少?例如,当绳子的长度是8时,我们把它剪成长度分别为2、3、3的三段,此时得到的最大乘积是18。答案需要取模 1e9+7(1000000007),如计算初始结果...

2020-02-26 09:08:28 341 1

原创 Leetcode 剪绳子

leetcode题目给你一根长度为 n 的绳子,请把绳子剪成整数长度的 m 段(m、n都是整数,n>1并且m>1),每段绳子的长度记为 k[0],k[1]…k[m] 。请问 k[0]k[1]…*k[m] 可能的最大乘积是多少?例如,当绳子的长度是8时,我们把它剪成长度分别为2、3、3的三段,此时得到的最大乘积是18。思路贪心算法n是一个确定的值,m是不确定的限制条件: ...

2020-02-26 08:56:42 615

原创 Leetcode 股票的最大利润

假设把某股票的价格按照时间先后顺序存储在数组中,请问买卖该股票一次可能获得的最大利润是多少?示例 1:输入: [7,1,5,3,6,4]输出: 5解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5 。注意利润不能是 7-1 = 6, 因为卖出价格需要大于买入价格。思路:贪心算法,保证差价最大和买入的价格最低,...

2020-02-25 22:39:23 931

原创 Leetcode 青蛙跳台阶问题

leetcode一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶。求该青蛙跳上一个 n 级的台阶总共有多少种跳法。答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。思路:假设跳上n-1个台阶的方法有f(n-1)种,那么跳n个台阶的方法有f(n-1)+f(n-2)种,即先跳n-2个台阶,最后跳2级和先跳n-1个台阶,最后跳一级f(0)=0...

2020-02-25 21:55:32 1102

原创 Leetcode 二叉搜索树与双向链表

leetcode输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的循环双向链表。要求不能创建任何新的节点,只能调整树中节点指针的指向。思路:得到一个排序的数组,二叉搜索树的特点是,左子树<=根节点<=右子树,用中序遍历二叉搜索树就可以得到一个递增数列了对于循环双向列表,先构造双向列表,再将头尾相连"""# Definition for a Node.class Node:...

2020-02-25 21:34:18 384

原创 Leetcode 相交链表

leetcode输入:intersectVal = 2, listA = [0,9,1,2,4], listB = [3,2,4], skipA = 3, skipB = 1输出:Reference of the node with value = 2输入解释:相交节点的值为 2 (注意,如果两个列表相交则不能为 0)。从各自的表头开始算起,链表 A 为 [0,9,1,2,4],链表 B 为...

2020-02-25 17:41:47 62

原创 Leetcode 连续子数组的最大和

leetcode输入一个整型数组,数组里有正数也有负数。数组中的一个或连续多个整数组成一个子数组。求所有子数组的和的最大值。要求时间复杂度为O(n)。示例1:输入: nums = [-2,1,-3,4,-1,2,1,-5,4]输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。思路贪心算法:每一步都求出最优解题目是连续子数组,需要遍历数组进行更新数组当前位...

2020-02-25 11:07:50 512

原创 Leetcode 路径总和 II

leetcode给定一个二叉树和一个目标和,找到所有从根节点到叶子节点路径总和等于给定目标和的路径。说明: 叶子节点是指没有子节点的节点。思路:上一题是判断是否存在,那么在递归过程中,找到一个符合的就可以结束搜索,这一题是找出所有路径,那么可以用一个额外的列表储存路径方法一:非递归/栈# Definition for a binary tree node.# class TreeNo...

2020-02-25 10:35:32 93

原创 Leetcode 路径总和

leetcode给定一个二叉树和一个目标和,判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和sum。说明: 叶子节点是指没有子节点的节点。思路:深度优先搜索,每次递归sum -= 根节点的值,当到达叶子节点时,判断sum == 叶子节点值。方法一使用栈,每次记录当前节点和sum-当前节点值,如果当前节点没有左子树和右子树,且sum-节点值==0,则找到路径...

2020-02-25 09:43:04 155

原创 Leetcode 树的子结构

leetcode输入两棵二叉树A和B,判断B是不是A的子结构。(约定空树不是任意一个树的子结构)B是A的子结构, 即 A中有出现和B相同的结构和节点值。思路:先判断B 为空, 则返回 False在A中遍历,看B的根节点是否出现如果出现,比较这个节点的子树是否与B 相同# Definition for a binary tree node.# class TreeNode:# ...

2020-02-24 17:33:17 254

原创 Leetcode 重建二叉树

leetcode 105输入某二叉树的前序遍历和中序遍历的结果,请重建该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。思路:前序遍历 根节点-》左子树-》右子树中序遍历 左子树-》根节点-》右子树根据两个遍历结果中都不存在重复数字,那么前序遍历的第一个数值为起始点,找出该值在中序遍历数组中的位置,该位置左侧为左子树,右侧为右子树递归函数:终止条件:前序和中序...

2020-02-24 14:19:12 98

原创 Leetcode 最小K个数

思路:基于快排改进选取arr[0]作为基准值,tmp= arr[0],排序后,返回tmp的下标index此时,arr[index] 左侧的值都小于tmp, 右侧的值都大于tmp。如果K==index,那么从起始点0到下标index-1的值就为最小的K个数,如果K < index,说明K个数在区间[0,index-1]里,重新继续选取基准值进行排序如果 K > index, ...

2020-02-24 13:54:22 204

LCD显示时钟

LCD显示时钟

2017-04-19

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除