
LeetCode
MarDino
这个作者很懒,什么都没留下…
展开
-
PP-YOLO
摘要目标检测是计算机视觉一个重要的领域。而目标检测算法的准确性和推理速度不可兼得,我们工作旨在通过tricks组合来平衡目标检测器的性能以及速度。考虑到yolo3的广泛应用,我们考虑在yolo3基础模型训练得到一个更快,准确率更高的模型,即PP-YOLO介绍最近出现了yolov4,5模型,这些模型也是基于yolo3算法改进得来。但PPYOLO并不像yolov4探究各种复杂的backbone和数据增广手段,也不是靠nas暴力搜索得到一个结构。我们在resnet骨干网络系列,数据增广仅靠mixup的条件下原创 2020-07-26 11:45:00 · 12144 阅读 · 2 评论 -
力扣785 判断二分图
785. 判断二分图给定一个无向图graph,当这个图为二分图时返回true。如果我们能将一个图的节点集合分割成两个独立的子集A和B,并使图中的每一条边的两个节点一个来自A集合,一个来自B集合,我们就将这个图称为二分图。graph将会以邻接表方式给出,graph[i]表示图中与节点i相连的所有节点。每个节点都是一个在0到graph.length-1之间的整数。这图中没有自环和平行边:graph[i] 中不存在i,并且graph[i]中没有重复的值。示例 1:输入: [[1,3]原创 2020-07-17 16:35:26 · 267 阅读 · 0 评论 -
力扣96 不同的二叉搜索树
96. 不同的二叉搜索树给定一个整数 n,求以 1 ... n 为节点组成的二叉搜索树有多少种?示例:输入: 3输出: 5解释:给定 n = 3, 一共有 5 种不同结构的二叉搜索树: 1 3 3 2 1 \ / / / \ \ 3 2 1 1 3 2 / / \ \ 2原创 2020-07-17 15:02:36 · 259 阅读 · 0 评论 -
力扣174
174. 地下城游戏一些恶魔抓住了公主(P)并将她关在了地下城的右下角。地下城是由 M x N 个房间组成的二维网格。我们英勇的骑士(K)最初被安置在左上角的房间里,他必须穿过地下城并通过对抗恶魔来拯救公主。骑士的初始健康点数为一个正整数。如果他的健康点数在某一时刻降至 0 或以下,他会立即死亡。有些房间由恶魔守卫,因此骑士在进入这些房间时会失去健康点数(若房间里的值为负整数,则表示骑士将损失健康点数);其他房间要么是空的(房间里的值为 0),要么包含增加骑士健康点数的魔法球(若房间里的值原创 2020-07-17 12:03:26 · 220 阅读 · 0 评论 -
力扣315
315. 计算右侧小于当前元素的个数给定一个整数数组 nums,按要求返回一个新数组 counts。数组 counts 有该性质: counts[i] 的值是 nums[i] 右侧小于 nums[i] 的元素的数量。示例:输入:[5,2,6,1]输出:[2,1,1,0]解释:5 的右侧有 2 个更小的元素 (2 和 1)2 的右侧仅有 1 个更小的元素 (1)6 的右侧有 1 个更小的元素 (1)1 的右侧有 0 个更小的元素这道题一开始被困难难度给吓到了我们先想用暴力法,原创 2020-07-17 11:19:01 · 444 阅读 · 0 评论 -
力扣32 最长有效括号
32. 最长有效括号给定一个只包含 '(' 和 ')' 的字符串,找出最长的包含有效括号的子串的长度。示例 1:输入: "(()"输出: 2解释: 最长有效括号子串为 "()"示例 2:输入: ")()())"输出: 4解释: 最长有效括号子串为 "()()"这是道困难题,看到了括号,我第一想到的就是栈,因为对于匹配括号的题,栈这种数据结构是非常好用的。其次最长有效,这几个字在动态规划题目中经常遇见,所以不妨两者都可以考虑对应解法动态规划我们假设DP数组表示以当前字符作为结尾原创 2020-07-06 11:55:14 · 285 阅读 · 0 评论 -
力扣378
"""378. 有序矩阵中第K小的元素给定一个 n x n 矩阵,其中每行和每列元素均按升序排序,找到矩阵中第 k 小的元素。请注意,它是排序后的第 k 小元素,而不是第 k 个不同的元素。示例:matrix = [ [ 1, 5, 9], [10, 11, 13], [12, 13, 15]],k = 8,返回 13。"""第一个我们很容易想到将二维数组展开成一维,然后直接进行排序,这里就不多再赘述思路2,我们可以把此题看作是合并K个有序列表,而他在原创 2020-07-02 11:03:06 · 518 阅读 · 0 评论 -
力扣 731最长重复子数组
"""718. 最长重复子数组给两个整数数组 A 和 B ,返回两个数组中公共的、长度最长的子数组的长度。示例 1:输入:A: [1,2,3,2,1]B: [3,2,1,4,7]输出: 3解释:长度最长的公共子数组是 [3, 2, 1]。"""这题上来直觉告诉我是利用动态规划的思想遇到这两个数组的,通常是用二维DP数组我们可以简单画个表看看 3 2 1 4 71 0 0 1 0 02 0 1 0 0 03 1 0 0 0 02 0 2 0 0 01 0 0 3原创 2020-07-01 14:36:46 · 287 阅读 · 0 评论 -
力扣1014
"""1014. 最佳观光组合给定正整数数组 A,A[i] 表示第 i 个观光景点的评分,并且两个景点 i 和 j 之间的距离为 j - i。一对景点(i < j)组成的观光组合的得分为(A[i] + A[j] + i - j):景点的评分之和减去它们两者之间的距离。返回一对观光景点能取得的最高分。示例:输入:[8,1,5,2,6]输出:11解释:i = 0, j = 2, A[i] + A[j] + i - j = 8 + 5 + 0 - 2 = 11"""from原创 2020-06-19 10:53:59 · 143 阅读 · 0 评论 -
力扣1300
"""1300. 转变数组后最接近目标值的数组和给你一个整数数组 arr 和一个目标值 target ,请你返回一个整数 value ,使得将数组中所有大于 value 的值变成 value 后,数组的和最接近 target (最接近表示两者之差的绝对值最小)。如果有多种使得和最接近 target 的方案,请你返回这些整数中的最小值。请注意,答案不一定是 arr 中的数字。示例 1:输入:arr = [4,9,3], target = 10输出:3解释:当选择 value原创 2020-06-15 10:55:55 · 171 阅读 · 0 评论 -
剑指offer 46题 把数字翻译成字符串
"""面试题46. 把数字翻译成字符串给定一个数字,我们按照如下规则把它翻译为字符串:0 翻译成 “a” ,1 翻译成 “b”,……,11 翻译成 “l”,……,25 翻译成 “z”。一个数字可能有多个翻译。请编程实现一个函数,用来计算一个数字有多少种不同的翻译方法。示例 1:输入: 12258输出: 5解释: 12258有5种不同的翻译,分别是"bccfi", "bwfi", "bczi", "mcfi"和"mzi""""class Solution: def tran原创 2020-06-09 10:00:54 · 237 阅读 · 0 评论 -
力扣837 新21点
"""837. 新21点爱丽丝参与一个大致基于纸牌游戏 “21点” 规则的游戏,描述如下:爱丽丝以 0 分开始,并在她的得分少于 K 分时抽取数字。抽取时,她从 [1, W] 的范围中随机获得一个整数作为分数进行累计,其中 W 是整数。每次抽取都是独立的,其结果具有相同的概率。当爱丽丝获得不少于 K 分时,她就停止抽取数字。 爱丽丝的分数不超过 N 的概率是多少?示例 1:输入:N = 10, K = 1, W = 10输出:1.00000说明:爱丽丝得到一张卡,然后停止。原创 2020-06-04 10:31:49 · 252 阅读 · 0 评论 -
力扣739 每日温度
739. 每日温度根据每日 气温 列表,请重新生成一个列表,对应位置的输出是需要再等待多久温度才会升高超过该日的天数。如果之后都不会升高,请在该位置用 0 来代替。例如,给定一个列表 temperatures = [73, 74, 75, 71, 69, 72, 76, 73],你的输出应该是 [1, 1, 4, 2, 1, 1, 0, 0]。提示:气温 列表长度的范围是 [1, 30000]。每个气温的值的均为华氏度,都是在 [30, 100] 范围内的整数一开始我他吗是没看懂题的,不知道原创 2020-06-01 11:16:22 · 389 阅读 · 0 评论 -
力扣101 对称二叉树
LEETCODE 101 对称二叉树给定一个二叉树,检查它是否是镜像对称的。 例如,二叉树 [1,2,2,3,4,4,3] 是对称的。 1 / \ 2 2 / \ / \3 4 4 3 但是下面这个 [1,2,2,null,3,null,3] 则不是镜像对称的: 1 / \ 2 2 \ \ 3 3class TreeNode: def __init__(self, x): self.va原创 2020-06-01 10:45:15 · 262 阅读 · 0 评论 -
LEETCODE 84 柱状图中最大的矩形
84. 柱状图中最大的矩形给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。求在该柱状图中,能够勾勒出来的矩形的最大面积。这个问题和接雨水那道很相似,第一反应是使用单调栈做。怎么确定当前矩形最大面积呢?我们定义一个单调递增的栈,当新来的元素小于栈顶元素,那么栈顶元素对应的矩形面积是可以确定的,因为栈顶大于其左右两边的元素(这里我们假设右边元素是新加的元素)计算完面积后,弹出栈顶元素,若新栈顶仍然大于新元素,那么重复上面的步骤,我们也可以确定新栈顶对应原创 2020-06-01 10:12:11 · 158 阅读 · 0 评论 -
力扣5:最长回文子串
5. 最长回文子串给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。示例 1:输入: "babad"输出: "bab"注意: "aba" 也是一个有效答案。示例 2:输入: "cbbd"输出: "bb"常规的暴力法就是遍历各个子串,并且判断子串是否是回文串,这样时间复杂度为O(n^3)接下来我们看动态规划做法我们假设一个dp数组,dp[i][j]表示s[i…j]是否为回文串由于回文子串具备天然的状态转移特性当两头字母相同时,去掉两头字母原创 2020-05-21 11:01:51 · 393 阅读 · 0 评论 -
力扣1371
"""1371. 每个元音包含偶数次的最长子字符串给你一个字符串 s ,请你返回满足以下条件的最长子字符串的长度:每个元音字母,即 'a','e','i','o','u' ,在子字符串中都恰好出现了偶数次。示例 1:输入:s = "eleetminicoworoep"输出:13解释:最长子字符串是 "leetminicowor" ,它包含 e,i,o 各 2 个,以及 0 个 a,u 。示例 2:输入:s = "leetcodeisgreat"输出:5解释:最长子字符串是 "l原创 2020-05-20 09:58:42 · 363 阅读 · 0 评论 -
LEETCODE力扣股票问题总结
在力扣网站中,最常见的动态规划问题就是股票系列的问题这里我把题号给放上来121122123188309714股票问题总思路既然涉及到动态规划,那么我们肯定是需要根据题意来定义状态转移方程的对于股票的操作,我们一共有3个,分别是买,卖,不交易我们可以定义一个三维的数组,维度分别代表天数,交易次数,状态(用0,1代表没持有股票还是持有股票)dp[i][k][0] = max(...原创 2020-05-06 16:33:29 · 903 阅读 · 0 评论 -
10.10数字流的秩
面试题 10.10. 数字流的秩假设你正在读取一串整数。每隔一段时间,你希望能找出数字 x 的秩(小于或等于 x 的值的个数)。请实现数据结构和算法来支持这些操作,也就是说:实现 track(int x) 方法,每读入一个数字都会调用该方法;实现 getRankOfNumber(int x) 方法,返回小于或等于 x 的值的个数。注意:本题相对原题稍作改动示例:输入:["S...原创 2020-04-25 11:32:57 · 400 阅读 · 0 评论 -
回溯算法与相关习题详解
回溯算法简介回溯算法是一种遍历所有情况找到最优解的算法。通过回溯,重新做一次选择,从而得到最优解我们可以认为这是一种有规律的枚举法,再加上递归的使用,使得整个过程更加有序回溯算法初接触回溯算法通常可以解决求最优解,求全排列,匹配括号,上色等等通常回溯算法有一种较为通用的模板def 主函数: res = [] def backtrace(xxxxx):# 回溯方法本身 i...原创 2020-04-20 15:26:31 · 366 阅读 · 0 评论 -
Leetcode42 接雨水 Python
利用单调栈的特性class Solution: """ 单调栈,维护一个从大到小的单调栈,比如[4, 3, 2, 1] 假设我们的数据是[4, 3, 1, 0, 1, 2, 4] 我们先组成单调栈,则stack里的元素是[4, 3, 1, 0] 然后我们遇到1,它大于我们栈顶元素 此时先pop出栈顶元素,记为cur 现在栈顶元素是左边的水柱...原创 2020-04-04 15:35:26 · 323 阅读 · 0 评论 -
LEETCODE 300
动态规划我们维护一个列表,来比较当前最长子序列,和之前找到的最长子序列长度。我们建立一个列表dpdp[i]表示的是前i个元素中最长子序列长度,注意nums[i] 一定要选取!然后在前i个元素里再进行一轮循环dp[i] = dp[j] + 1class Solution: def lengthOfLIS(self, nums: List[int]) -> int: ...原创 2020-03-16 16:39:15 · 273 阅读 · 0 评论 -
LEETCODE 和为s的连续正数数列
题目简介输入一个正整数 target ,输出所有和为 target 的连续正整数序列(至少含有两个数)。序列内的数字由小到大排列,不同序列按照首个数字从小到大排列。示例 1:输入:target = 9输出:[[2,3,4],[4,5]]示例 2:输入:target = 15输出:[[1,2,3,4,5],[4,5,6],[7,8]]暴力遍历法最容易想到的就是暴力遍历法,...原创 2020-03-06 11:21:13 · 252 阅读 · 0 评论 -
二叉树按层遍历 LEETCODE 102
在学数据结构的时候,二叉树通常有三种遍历,分别是先序遍历,中序遍历,后序遍历。这些遍历其实都是深度优先遍历的一种变形,因此都是使用递归来解决然而二叉树还有一种层序遍历就是每一层输出节点就拿LEETCODE 102这道题举例子给定一个二叉树,返回其按层次遍历的节点值。 (即逐层地,从左到右访问所有节点)。例如:给定二叉树: [3,9,20,null,null,15,7], 3...原创 2020-03-04 15:33:48 · 326 阅读 · 0 评论 -
LEETCODE:罗马数字转换整数
罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。字符 数值I 1V 5X 10L 50C 100D 500M 1000例如, 罗马数字 2 写做 II ,即为两个并列的 1。1...原创 2020-02-18 16:14:33 · 235 阅读 · 0 评论 -
LEETCODE:回文数判断
判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。示例 1:输入: 121输出: true示例 2:输入: -121输出: false解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。示例 3:输入: 10输出: false解释: 从右向左读, 为 01 。因此它不是一个回文数。数据...原创 2020-02-18 15:46:43 · 223 阅读 · 0 评论 -
LeetCode 刷题一:TwoSum
字典法求解class Solution(object): def twoSum(self, nums, target): hashmap = {} for ind, num in enumerate(nums): hashmap[num] = ind for i, num in enumerate(nums):...原创 2020-01-29 15:15:17 · 224 阅读 · 0 评论