算法
仝笛
这个作者很懒,什么都没留下…
展开
-
最大子序和
最大子序和@TOCdef maxSubArray(self, nums: List[int]) -> int: sum = 0 maxsum = nums[0] for i in range(len(nums)): #累加子串 sum += nums[i] #如果sum比...原创 2019-03-18 14:34:40 · 89 阅读 · 0 评论 -
leecode106. Construct Binary Tree from Inorder and Postorder Traversal中序后序重建树
leecode106. Construct Binary Tree from Inorder and Postorder Traversal中序后序重建树For example, giveninorder = [9,3,15,20,7]postorder = [9,15,7,20,3]Return the following binary tree:*** 3*** / \...原创 2019-07-07 16:53:52 · 108 阅读 · 0 评论 -
leecode107. Binary Tree Level Order Traversal II二叉树层次遍历 自底向上
leecode107. Binary Tree Level Order Traversal II二叉树层次遍历 自底向上For example:Given binary tree [3,9,20,null,null,15,7],*** 3*** / \** 9 20**** / \** 15 7return its bottom-up level or...原创 2019-07-07 17:12:24 · 119 阅读 · 0 评论 -
leecode108. Convert Sorted Array to Binary Search Tree有序数组转化为二叉搜索树
leecode108. Convert Sorted Array to Binary Search Tree有序数组转化为二叉搜索树Example:Given the sorted array: [-10,-3,0,5,9],One possible answer is: [0,-3,9,-10,null,5], which represents the following height...原创 2019-07-07 17:49:17 · 168 阅读 · 0 评论 -
leecode 94. 二叉树的中序遍历
leecode 94. 二叉树的中序遍历94. Binary Tree Inorder TraversalExample:Input: [1,null,2,3]1\ 2/3Output: [1,3,2]# Definition for a binary tree node.# class TreeNode:# def __init__(self, x):# ...原创 2019-06-29 15:38:07 · 148 阅读 · 0 评论 -
leecode 11. Container With Most Water
Container With Most WaterGiven n non-negative integers a1, a2, …, an , where each represents a point at coordinate (i, ai). n vertical lines are drawn such that the two endpoints of line i is at (i...原创 2019-06-30 12:06:54 · 151 阅读 · 0 评论 -
leecode 5. Longest Palindromic Substring最长回文子串
leecode 5. Longest Palindromic Substring最长回文子串Given a string s, find the longest palindromic substring in s. You may assume that the maximum length of s is 1000.Example 1:Input: “babad”Output: “ba...原创 2019-06-30 15:19:06 · 175 阅读 · 0 评论 -
快排python 递归和迭代
quick_sort = lambda array: array if len(array) <= 1 else quick_sort([item for item in array[1:] if item <= array[0]]) + [array[0]] + + quick_sort([item for item in array[1:] if item > ar...原创 2019-07-06 16:02:19 · 174 阅读 · 0 评论 -
leecode98. Validate Binary Search Tree验证搜索二叉树
Example 1:2/ \1 3Input: [2,1,3]Output: trueExample 2:5/ \1 4– / \*3 6Input: [5,1,4,null,null,3,6]Output: false# Definition for a binary tree node.# class TreeNode:# def _...原创 2019-07-06 16:33:51 · 126 阅读 · 0 评论 -
leecode 100. Same Tree
Same TreeExample 1:Input: 1 1------- / \ / \*****2 3 2 3 [1,2,3], [1,2,3]Output: trueExample 2:Input: 1 ***1------- / \ ** / \******2 ...原创 2019-07-06 17:30:16 · 96 阅读 · 0 评论 -
leecode 101. Symmetric Tree对称树
leecode 101. Symmetric Tree对称树For example, this binary tree [1,2,2,3,4,4,3] is symmetric:***1** / \** 2 2** / \ / \*3 4 4 3But the following [1,2,2,null,3,null,3] is not:1/ \2 2\ ...原创 2019-07-06 17:51:04 · 163 阅读 · 0 评论 -
leecode102. Binary Tree Level Order Traversal二叉树层次遍历
leecode102. Binary Tree Level Order Traversal二叉树层次遍历For example:Given binary tree [3,9,20,null,null,15,7],3/ \9 20** / \*15 7return its level order traversal as:[[3],[9,20],[15,7]]# ...原创 2019-07-06 18:09:51 · 248 阅读 · 0 评论 -
leecode103. Binary Tree Zigzag Level Order Traversal二叉树 之字形 层次遍历
Binary Tree Zigzag Level Order TraversalFor example:Given binary tree [3,9,20,null,null,15,7],3/ \9 20** / \15 7return its zigzag level order traversal as:[[3],[20,9],[15,7]]class...原创 2019-07-06 19:18:25 · 166 阅读 · 0 评论 -
leecode10. Regular Expression Matching字符串匹配
leecode10. Regular Expression Matching字符串匹配‘.’ Matches any single character.‘*’ Matches zero or more of the preceding element.Example 1:Input:s = “aa”p = “a”Output: falseExplanation: “a” does ...原创 2019-07-06 23:50:54 · 181 阅读 · 0 评论 -
leecode104. Maximum Depth of Binary Tree树高
leecode104. Maximum Depth of Binary Tree树高Example:Given binary tree [3,9,20,null,null,15,7],*** 3*** / \** 9 20**** / \** 15 7return its depth = 3.#迭代class Solution: def maxDep...原创 2019-07-07 15:07:51 · 114 阅读 · 0 评论 -
旋转词
题目:如果对于一个字符串A,将A的前面任意一部分挪到后边去形成的字符串称为A的旋转词。比如A=“12345”,A的旋转词有"12345",“23451”,“34512”,“45123"和"51234”。对于两个字符串A和B,请判断A和B是否互为旋转词。给定两个字符串A和B及他们的长度lena,lenb,请返回一个bool值,代表他们是否互为旋转词。测试样例:“cdab”,4,“abcd”,...原创 2019-08-24 11:06:53 · 452 阅读 · 0 评论 -
句子的逆序
题目:对于一个字符串,请设计一个算法,只在字符串的单词间做逆序调整,也就是说,字符串由一些由空格分隔的部分组成,你需要将这些部分逆序。给定一个原字符串A和他的长度,请返回逆序后的字符串。测试样例:“dog loves pig”,13返回:“pig loves dog”# -*- coding:utf-8 -*-class Reverse: def reverseSente...原创 2019-08-24 11:35:44 · 123 阅读 · 0 评论 -
leecode105. Construct Binary Tree from Preorder and Inorder Traversal先序中序重建树
leecode105. Construct Binary Tree from Preorder and Inorder Traversal先序中序重建树For example, givenpreorder = [3,9,20,15,7]inorder = [9,3,15,20,7]Return the following binary tree:3/ \9 20** / ...原创 2019-07-07 16:06:56 · 107 阅读 · 0 评论 -
Leetcode836 矩形重叠
矩形以列表 [x1, y1, x2, y2] 的形式表示,其中 (x1, y1) 为左下角的坐标,(x2, y2) 是右上角的坐标。如果相交的面积为正,则称两矩形重叠。需要明确的是,只在角或边接触的两个矩形不构成重叠。给出两个矩形,判断它们是否重叠并返回结果。示例 1:输入:rec1 = [0,0,2,2], rec2 = [1,1,3,3]输出:true示例 2:输入...原创 2019-04-26 19:28:43 · 210 阅读 · 0 评论 -
剑指offer 66 机器人的运动范围
题目描述地上有一个m行和n列的方格。一个机器人从坐标0,0的格子开始移动,每一次只能向左,右,上,下四个方向移动一格,但是不能进入行坐标和列坐标的数位之和大于k的格子。 例如,当k为18时,机器人能够进入方格(35,37),因为3+5+3+7 = 18。但是,它不能进入方格(35,38),因为3+5+3+8 = 19。请问该机器人能够达到多少个格子?# -*- coding:utf-8 -*-...原创 2019-04-26 21:51:53 · 72 阅读 · 0 评论 -
9.1_如何从大量的url中找出相同的url
题目描述:给定a、b两个文件,各存放50亿个url,每个url各占64B,内存限制是4GB,请找出a、b两个文件共同的url解答:由于每个url需要占64B,所以50亿个url占用空间大小为50亿×64=5GB×64=320GB.由于内存大小只有4GB,因此不可能一次性把所有的url加载到内存中处理。对于这种题目,一般采用分治法,即把一个文件中的url按照某一特征分成多个文件,使得每个文件的...转载 2019-04-23 19:45:15 · 493 阅读 · 0 评论 -
牛客网 把数组排成最小的数
题目描述输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。# -*- coding:utf-8 -*-#利用 sorted 设置比较方法lambdaclass Solution: def PrintMinNumber(self, numbers): ...原创 2019-05-07 15:46:03 · 134 阅读 · 0 评论 -
牛客网 二叉搜索树的第k个结点
二叉搜索树的第k个结点题目描述给定一棵二叉搜索树,请找出其中的第k小的结点。例如, (5,3,7,2,4,6,8) 中,按结点数值大小顺序第三小结点的值为4。# -*- coding:utf-8 -*-# class TreeNode:# def __init__(self, x):# self.val = x# self.left = ...原创 2019-05-07 16:22:56 · 138 阅读 · 0 评论 -
leecode 5. 最长回文子串
题目描述:给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。示例 1:输入: “babad”输出: “bab”注意: “aba” 也是一个有效答案。示例 2:输入: “cbbd”输出: “bb”中心拓展算法class Solution: def longestPalindrome(self, s: str) -> str: ...原创 2019-05-18 14:56:56 · 118 阅读 · 0 评论 -
leecode 887. 鸡蛋掉落
题目描述你将获得 K 个鸡蛋,并可以使用一栋从 1 到 N 共有 N 层楼的建筑。每个蛋的功能都是一样的,如果一个蛋碎了,你就不能再把它掉下去。你知道存在楼层 F ,满足 0 <= F <= N 任何从高于 F 的楼层落下的鸡蛋都会碎,从 F 楼层或比它低的楼层落下的鸡蛋都不会破。每次移动,你可以取一个鸡蛋(如果你有完整的鸡蛋)并把它从任一楼层 X 扔下(满足 1 <=...原创 2019-05-18 16:45:28 · 126 阅读 · 0 评论 -
leecode7. 整数反转
题目描述:给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。示例 1:输入: 123输出: 321示例 2:输入: -123输出: -321示例 3:输入: 120输出: 21注意:假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−231, 231 − 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。解决方法class...原创 2019-05-18 17:42:12 · 148 阅读 · 0 评论 -
leecode46 全排列
给定一个没有重复数字的序列,返回其所有可能的全排列。示例:输入: [1,2,3]输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]思路1 : 库函数Python3 itertools 文档 :https://docs.python.org/3/library/itertools.html#itertools.permu...原创 2019-05-27 21:38:37 · 177 阅读 · 0 评论 -
leecode48. 旋转图像
题目描述给定一个 n × n 的二维矩阵表示一个图像。将图像顺时针旋转 90 度。说明:你必须在原地旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要使用另一个矩阵来旋转图像。示例 1:给定 matrix =[[1,2,3],[4,5,6],[7,8,9]],原地旋转输入矩阵,使其变为:[[7,4,1],[8,5,2],[9,6,3]]示例 2:给定 ma...原创 2019-05-27 21:58:51 · 140 阅读 · 0 评论 -
Faster R-CNN总结
Faster R-CNN论文的demo用了ZF和VGG16 的网络结构,本文默认用VGG16它的结构图:它的前13层是用了VGG提取特征 ,主要算法实现是后面几层:Faster R-CNN的整体结构,如下图所示 :算法步骤1. Conv layers .作为一种cnn网络目标检测的方法,faster_rcnn首先使用一组基础conv+relu+pooling层提取image的 ...转载 2019-05-28 19:05:38 · 776 阅读 · 0 评论 -
SppNet中的spatial pyramid pooling(SPP)
SPP 提出的初衷是为了解决CNN对输入图片尺寸的限制。由于全连接层的存在,与之相连的最后一个卷积层的输出特征需要固定尺寸,从而要求输入图片尺寸也要固定。将任意尺寸的feature map用三个尺度的金字塔层分别池化,将池化后的结果拼接得到固定长度的特征向量(图中的256为filter的个数),送入全连接层进行后续操作。后来的Fast RCNN网络即借鉴了SPP的思想。其中的ROI Poo...原创 2019-05-28 19:13:35 · 192 阅读 · 0 评论 -
Leecode10. 正则表达式匹配
10. 正则表达式匹配给你一个字符串 s 和一个字符规律 p,请你来实现一个支持 ‘.’ 和 ‘*’ 的正则表达式匹配。‘.’ 匹配任意单个字符‘*’ 匹配零个或多个前面的那一个元素所谓匹配,是要涵盖 整个 字符串 s的,而不是部分字符串。说明:s 可能为空,且只包含从 a-z 的小写字母。p 可能为空,且只包含从 a-z 的小写字母,以及字符 . 和 *。示例 1:输入:s ...原创 2019-06-05 19:05:23 · 355 阅读 · 0 评论 -
leecode44. 通配符匹配
44. 通配符匹配题目描述给定一个字符串 (s) 和一个字符模式 § ,实现一个支持 ‘?’ 和 ‘*’ 的通配符匹配。‘?’ 可以匹配任何单个字符。‘*’ 可以匹配任意字符串(包括空字符串)。两个字符串完全匹配才算匹配成功。说明:s 可能为空,且只包含从 a-z 的小写字母。p 可能为空,且只包含从 a-z 的小写字母,以及字符 ? 和 *。示例 1:输入:s = “aa”...原创 2019-06-08 17:38:10 · 270 阅读 · 0 评论 -
leecode53. 最大子序和
53. 最大子序和题目描述给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例:输入: [-2,1,-3,4,-1,2,1,-5,4],输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。class Solution: def maxSubArray(self, nums: List[int]) ->...原创 2019-06-08 19:05:49 · 104 阅读 · 0 评论 -
leecode 94. 二叉树的中序遍历 144. 二叉树的前序遍历 145. 二叉树的后序遍历
94. 二叉树的中序遍历题目描述给定一个二叉树,返回它的中序 遍历。示例:输入: [1,null,2,3]1\2/3输出: [1,3,2]144. 二叉树的前序遍历题目描述给定一个二叉树,返回它的 前序 遍历。示例:输入: [1,null,2,3]1\2/3输出: [1,2,3]二叉树的后序遍历题目描述给定一个二叉树,返回它的 后序 遍历。示例...原创 2019-06-08 20:04:29 · 190 阅读 · 0 评论 -
0/1背包问题 python
0/1背包问题 python有一个包和n个物品,包的容量为m,每个物品都有各自的体积和价值,问当从这n个物品中选择多个物品放在包里而物品体积总数不超过包的容量m时,能够得到的最大价值是多少?'''测试数据:n = 6 物品的数量,c = 10 书包能承受的重量,w = [2, 2, 3, 1, 5, 2] 每个物品的重量,v = [2, 3, 1, 5, 4, 3] 每个物品的价值...原创 2019-09-06 16:02:03 · 471 阅读 · 0 评论