- 博客(77)
- 收藏
- 关注
转载 leetcode-230
leetcode-230题目描述:给定一个二叉搜索树,编写一个函数 kthSmallest 来查找其中第 k 个最小的元素。解法一,其实就是中序遍历,刚开始不知道怎么统计到第k个数# Definition for a binary tree node.# class TreeNode:# def __init__(self, x):# sel...
2019-08-22 18:19:00
280
转载 PCA与RPCA
PCA与RPCAPCA和RPCA从名字看是有一些相似性的,两者的区别在于对于误差的假设不同,PCA假设数据误差是服从高斯分布的,即数据噪声较小;RPCA假设数据噪声是稀疏的,并且可能是强的噪声;一般推导主成分分析可以有两种方法:最近可重构性:样本点到超平面要尽可能近;最大可分性:样本点在这个超平面上的投影尽可能分开,即最大化投影方差;下面基于最大化投影方差来回归该算法,首先...
2019-08-21 16:55:00
1391
转载 单调栈整理
单调栈最近做题,遇到不少单调栈的问题,整理一下;参考博客 coordinate_blog ;单调栈需要处理问题的情形是回答,比当前元素更大/更小的下一个或者前一个数;leetcode. 42 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水?注意这个单调栈的写法,之前自己写得是不是太复杂,为什么最后stack非空的情况不需要考虑...
2019-08-19 16:17:00
366
转载 牛客网 进制均值
[编程题]进制均值题目描述:尽管是一个CS专业的学生,小B的数学基础很好并对数值计算有着特别的兴趣,喜欢用计算机程序来解决数学问题,现在,她正在玩一个数值变换的游戏。她发现计算机中经常用不同的进制表示一个数,如十进制数123表达为16进制时只包含两位数7、11(B),用八进制表示为三位数1、7、3,按不同进制表达时,各个位数的和也不同,如上述例子中十六进制和八进制中各位数的和分别是...
2019-08-16 21:30:00
117
转载 牛客网 拼凑硬币
拼凑硬币题目描述:小Q十分富有,拥有非常多的硬币,小Q拥有的硬币是有规律的,对于所有的非负整数K,小Q恰好各有两个面值为2^K的硬币,所以小Q拥有的硬币就是1,1,2,2,4,4,8,8,…。小Q有一天去商店购买东西需要支付n元钱,小Q想知道有多少种方案从他拥有的硬币中选取一些拼凑起来恰好是n元(如果两种方案某个面值的硬币选取的个数不一样就考虑为不一样的方案)。参考了题解中的...
2019-08-16 20:23:00
222
转载 ROUGE
ROUGE评价指标的安装是我见过最糟心的软件;原始ROUGE需要安装各种依赖,如果没有Root权限,安装过程令人头大;装好了ROUGE,Pyrouge 的代码也有问题,需要手动修改两处地方;如果想用简单便捷一点的rouge,发现评测分数可能存在bug;转载于:https://www.cnblogs.com/curtisxiao/p/11326483.html...
2019-08-09 12:25:00
140
转载 leetcode-829
题目描述:给定一个正整数 N,试求有多少组连续正整数满足所有数字之和为 N?首先,刚开始读错题目了,以为是子集和就行,后来发现是连续子集;想到用子集树,但是超时了class Solution: def consecutiveNumbersSum(self, N: int) -> int: self.res = 0 nums = ...
2019-08-08 20:10:00
258
转载 leetcode-467
leetcode-467题目描述:把字符串 s 看作是“abcdefghijklmnopqrstuvwxyz”的无限环绕字符串,所以s 看起来是这样的:"...zabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcd....".现在我们有了另一个字符串 p 。你需要的是找出 s 中有多少个唯一的 p 的非空子串,尤其是当...
2019-08-08 10:09:00
181
转载 leetcode-1048 最长字符串链
leetcode-1048 最长字符串链参考:doudoucao题目描述:给出一个单词列表,其中每个单词都由小写英文字母组成。如果我们可以在word1的任何地方添加一个字母使其变成word2,那么我们认为word1是word2的前身。例如,"abc"是"abac"的前身。词链是单词[word_1, word_2, ..., word_k]组成的序列,k &...
2019-08-08 09:45:00
231
转载 leetcode 股票问题
leetcode 股票问题参考:labuladong(leetcode-121) 给定一个数组,它的第i 个元素是一支给定股票第 i 天的价格。如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个算法来计算你所能获取的最大利润。注意你不能在买入股票前卖出股票。class Solution: def maxProfit(self, prices: List[i...
2019-08-07 23:53:00
177
转载 leetcode-413 等差数列划分
leetcode-467题目描述:把字符串 s 看作是“abcdefghijklmnopqrstuvwxyz”的无限环绕字符串,所以s 看起来是这样的:"...zabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcd....".现在我们有了另一个字符串 p 。你需要的是找出 s 中有多少个唯一的 p 的非空子串,尤其是当...
2019-08-07 16:34:00
109
转载 # 回溯算法
回溯算法简介:使用场景:当问题要求找出所有解集或者要求回答满足约束的最优解时,往往需要回溯法。方法定义:具有限界函数的深度优先生成法称为回溯法。基本做法:回溯法本质是搜索,是能避免不必要搜索的穷举式搜索。通常,回溯法在问题的解空间树中,按照深度优先策略,从根节点出发搜索解空间树。算法搜索到解空间树的任意结点时,先判断该节点是否包含问题的解:1)如果不包含,则跳过以该结点为...
2019-08-07 14:40:00
267
转载 leetcode-526 优美的排列
leetcode-526 优美的排列题目描述:假设有从 1 到 N 的N个整数,如果从这N个数字中成功构造出一个数组,使得数组的第 i位 (1 <= i <= N) 满足如下两个条件中的一个,我们就称这个数组为一个优美的排列。条件:第i位的数字能被i整除i 能被第 i 位上的数字整除现在给定一个整数 N,请问可以构造多少个优美的排列?这道题和 l...
2019-08-04 18:40:00
169
转载 leetcode 1079 活字印刷
leetcode-1079 活字印刷题目描述:你有一套活字字模 tiles,其中每个字模上都刻有一个字母 tiles[i]。返回你可以印出的非空字母序列的数目解法一:使用库函数from itertools import permutationsclass Solution: def numTilePossibilities(self, tiles: str) -...
2019-08-03 22:43:00
152
转载 leetcode-47 全排列
leetcode-47 全排列题目描述:给定一个可包含重复数字的序列,返回所有不重复的全排列。使用库函数:from itertools import permutationsclass Solution: def permuteUnique(self, nums: List[int]) -> List[List[int]]: res = s...
2019-08-01 23:22:00
110
转载 leetcode-20 有效的括号
leetcode-20 有效的括号题目描述:给定一个只包括 '(',')','{','}','[',']'的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。class Solution: def isValid(self, s: str) -> bool: ...
2019-08-01 22:47:00
90
转载 leetcode-22 括号生成
leetcode-22 括号生成题目描述:给出 n 代表生成括号的对数,请你写出一个函数,使其能够生成所有可能的并且有效的括号组合。参考:负雪明烛class Solution: def generateParenthesis(self, n: int) -> List[str]: def dfs(left,right,path): ...
2019-08-01 22:25:00
146
转载 leetcode-17 电话号码组合
leetcode-17 电话号码组合题目描述:给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。笛卡尔积问题from itertools import productclass Solution: def letterCombinations(self, digits: str...
2019-08-01 11:14:00
92
转载 leetcode-78 子集
leetcode-78 子集题目描述:找出数组的所有子集使用python自带的排列组合函数,注意,i的长度要包含序列长度;from itertools import combinationsclass Solution: def subsets(self, nums: List[int]) -> List[List[int]]: res =...
2019-08-01 10:34:00
108
转载 leetcode-90 子集
leetcode-90 子集题目描述:给定一个可能包含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)。说明:解集不能包含重复的子集。之前遇到过类似的题目,但是这次还是没有写出来。这次知道在for循环里面需要加入相等判断,但是在判断的时候出了问题,我写的是 i>1,实际上是 i>index;class Solution: def sub...
2019-08-01 10:33:00
92
转载 leetcode-784 字母大小写排序
leetcode-784 字母大小写排序题目描述:给定一个字符串S,通过将字符串S中的每个字母转变大小写,我们可以获得一个新的字符串。返回所有可能得到的字符串集合。注:一直陷在怎么往后遍历,刚开始想把这个字母pop出来,其实可以用一个index来遍历;class Solution: def letterCasePermutation(self, S: str) -...
2019-08-01 09:31:00
135
转载 leetcode-401 二进制手表
leetcode-401 二进制手表题目描述:二进制手表顶部有 4 个 LED 代表小时(0-11),底部的 6 个 LED 代表分钟(0-59)。每个 LED 代表一个 0 或 1,最低位在右侧。给定一个非负整数 n 代表当前 LED 亮着的数量,返回所有可能的时间。参考:负雪明烛from itertools import combinationsclass Solu...
2019-07-29 19:28:00
84
转载 leetcode-169 求众数
leetcode-169 求众数题目描述:给定一个大小为 n 的数组,找到其中的众数。众数是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素。你可以假设数组是非空的,并且给定的数组总是存在众数class Solution: def majorityElement(self, nums: List[int]) -> int: numsdic = dic...
2019-07-29 15:22:00
90
转载 leetcode-74 搜索二维矩阵
leetcode-74 搜索二维矩阵题目描述:编写一个高效的算法来判断m x n矩阵中,是否存在一个目标值。该矩阵具有如下特性:每行中的整数从左到右按升序排列。每行的第一个整数大于前一行的最后一个整数。class Solution: def searchMatrix(self, matrix: List[List[int]], target: int) -> ...
2019-07-29 00:18:00
140
转载 leetcode-240 搜索二维矩阵
leetcode-240 搜索二维矩阵题目描述:编写一个高效的算法来搜索mxn矩阵 matrix 中的一个目标值 target。该矩阵具有以下特性:每行的元素从左到右升序排列。每列的元素从上到下升序排列。每一步都要想清楚,不要含糊class Solution: def searchMatrix(self, matrix, target): ""...
2019-07-29 00:00:00
125
转载 leetcode 236 二叉树的最近公共祖先
leetcode 236 二叉树的最近公共祖先参考:负雪明烛题目描述:给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”大神真的强,为啥感觉自己脑子不够用# Definition...
2019-07-27 00:38:00
153
转载 leetcode 235 二叉搜索树最近公共祖先
leetcode 235 二叉搜索树最近公共祖先题目描述:给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。解法一:自己的写法,贼傻# Definition for a bina...
2019-07-26 00:45:00
122
转载 leetcode-75 颜色分类
leetcode-75 颜色分类题目描述:给定一个包含红色、白色和蓝色,一共n 个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。此题中,我们使用整数 0、1 和 2 分别表示红色、白色和蓝色。解法一:感觉很丑class Solution: def sortColors(self, nums: List[int]) -&...
2019-07-25 10:14:00
106
转载 leetcode-922 按奇偶排序数组 II
leetcode-922 按奇偶排序数组 II题目描述:给定一个非负整数数组A, A 中一半整数是奇数,一半整数是偶数。对数组进行排序,以便当A[i] 为奇数时,i也是奇数;当A[i]为偶数时, i 也是偶数。解法一:class Solution: def sortArrayByParityII(self, A: List[int]) -> Lis...
2019-07-25 00:44:00
133
转载 leetcode-905 按奇偶数排序
leetcode-905 按奇偶排序数组题目描述:给定一个非负整数数组 A,返回一个数组,在该数组中, A 的所有偶数元素之后跟着所有奇数元素。解法一:头尾指针,向中间走class Solution: def sortArrayByParity(self, A: List[int]) -> List[int]: if not A: ...
2019-07-25 00:42:00
84
转载 UVA-10827 环面上的最大子矩阵和
uva-10827 环面上的最大子矩阵和题目描述:把二维矩阵的第一行和最后一行,第一列和最后一列连起来,得到一个环面,求此矩阵上的最大子矩阵(即其中所有元素之和最大)题目链接:https://vjudge.net/problem/UVA-10827参考:https://blog.youkuaiyun.com/tengfei461807914/article/details/548089...
2019-07-23 00:41:00
143
转载 leetcode918 环形最大子数组
leetcode-918 环形最大子数组和题目描述:给定一个由整数数组 A 表示的环形数组 C,求 C 的非空子数组的最大可能和。子数组最多只能包含固定缓冲区 A 中的每个元素一次脑袋不够用class Solution: def maxSubarraySumCircular(self, A: List[int]) -> int: def kada...
2019-07-23 00:39:00
172
转载 leetcode-85 最大矩形
leetcode-85 最大矩形题目描述:给定一个仅包含 0 和 1 的二维二进制矩阵,找出只包含 1 的最大矩形,并返回其面积。注:用leetode-84题的思路,每一行都做一次最大矩形,挺有趣import numpy as npclass Solution: def maximalRectangle(self, matrix: List[List[str]]) ...
2019-07-22 00:46:00
123
转载 leetcode-84 柱状图中的最大矩形
leetcode-84 柱状图中的最大矩形参考:负雪明烛题目描述:给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。求在该柱状图中,能够勾勒出来的矩形的最大面积感觉脑袋不够用,关键是找到右边界和左边界;class Solution: def largestRectangleArea(self, heights: List[int...
2019-07-22 00:06:00
114
转载 leetcode-221 最大正方形
leetcode-221 最大正方形题目描述:在一个由 0 和 1 组成的二维矩阵内,找到只包含 1 的最大正方形,并返回其面积。class Solution: def maximalSquare(self, matrix: List[List[str]]) -> int: if not matrix: return 0 ...
2019-07-21 16:32:00
78
转载 leetcode-713 乘积小于k的数组
leetcode-713 乘积小于k的数组参考:负雪明烛题目描述:给定一个正整数数组 nums。找出该数组内乘积小于 k 的连续的子数组的个数。注:这题和209题比较类似,但是在while判断的时候需要考虑一下class Solution(object): def numSubarrayProductLessThanK(self, nums, k): ...
2019-07-21 00:12:00
98
转载 leetcode-209 长度最小的数组
leetcode-209 长度最小的数组题目描述:给定一个含有 n 个正整数的数组和一个正整数 s ,找出该数组中满足其和 ≥ s 的长度最小的连续子数组。如果不存在符合条件的连续子数组,返回 0。参考:负雪明烛class Solution(object): def minSubArrayLen(self, s, nums): """ ...
2019-07-20 23:15:00
77
转载 leetcode53 最大子序列和
leetcode-53 最大子序和题目描述:给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。注:使用python3提交,会出ujson的错误,使用python2提交即可,应该是系统问题class Solution: def maxSubArray(self, nums: List[int]) -> int:...
2019-07-20 22:53:00
78
转载 Cannot allocate TUN/TAP dev dynamically
在根据http://openvpn.ustc.edu.cn使用MAC使用中科大的vpn服务时,按照openvpn的配置流程走下来用root运行openvpn --config ustc.ovpn后,会出现:Cannot allocate TUN/TAP dev dynamically错误这是macos使用openvpn的bug,需要安装这个开源软件:http://tuntap...
2019-07-20 14:45:00
1571
转载 leetcode-40
leetcode-40 组合总和题目描述:给定一个数组candidates和一个目标数target,找出candidates中所有可以使数字和为target的组合。candidates中的每个数字在每个组合中只能使用一次。注:和39题比,增加的难点主要在于有重复数字解法一:回溯class Solution: def combinationSum...
2019-07-19 23:45:00
96
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人