- 博客(117)
- 资源 (1)
- 收藏
- 关注
原创 LeetCode0867转置矩阵
867转置矩阵-数组描述给定一个矩阵 A, 返回 A 的转置矩阵。矩阵的转置是指将矩阵的主对角线翻转,交换矩阵的行索引与列索引。实例输入:[[1,2,3],[4,5,6],[7,8,9]]输出:[[1,4,7],[2,5,8],[3,6,9]]输入:[[1,2,3],[4,5,6]]输出:[[1,4],[2,5],[3,6]]题解很容易想到的就是根据输入矩阵 A 的大小,创...
2018-11-11 21:11:50
126
原创 LeetCode0861.翻转矩阵后的得分
861.翻转矩阵后的得分描述有一个二维矩阵 A 其中每个元素的值为 0 或 1 。移动是指选择任一行或列,并转换该行或列中的每一个值:将所有 0 都更改为 1,将所有 1 都更改为 0。在做出任意次数的移动后,将该矩阵的每一行都按照二进制数来解释,矩阵的得分就是这些数字的总和。返回尽可能高的分数。实例\输入:[[0,0,1,1],[1,0,1,0],[1,1,0,0]]输出:39...
2018-11-11 21:11:38
231
原创 LeetCode0046.全排列
46.全排列描述给定一个没有重复数字的序列,返回其所有可能的全排列。实例输入: [1,2,3]输出:[ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1]]题解所有的排列方式都可以通过交换元素的值来获得每一个循环中都在修改changeIndex的值,然后进入下一轮迭代迭代时,changeInde...
2018-11-08 21:03:53
133
原创 LeetCode0929.独特的电子邮件地址
0929.独特的电子邮件地址描述每封电子邮件都由一个本地名称和一个域名组成,以 @ 符号分隔。例如,在 alice@leetcode.com中, alice 是本地名称,而 leetcode.com 是域名。除了小写字母,这些电子邮件还可能包含 ',' 或 '+'。如果在电子邮件地址的本地名称部分中的某些字符之间添加句点('.'),则发往那里的邮件将会转发到本地名称中没有点的同一地址。例...
2018-11-07 20:49:35
359
原创 LeetCode0852.山脉数组的峰顶索引
852.山脉数组的峰顶索引描述我们把符合下列属性的数组 A 称作山脉:A.length >= 3存在 0 < i < A.length - 1 使得A[0] < A[1] < ... A[i-1] < A[i] > A[i+1] > ... > A[A.length - 1]给定一个确定为山脉的数组
2018-10-28 13:12:06
189
原创 LeetCode0832.翻转图像
832.翻转图像描述给定一个二进制矩阵 A,我们想先水平翻转图像,然后反转图像并返回结果。水平翻转图片就是将图片的每一行都进行翻转,即逆序。例如,水平翻转 [1, 1, 0] 的结果是 [0, 1, 1]。反转图片的意思是图片中的 0 全部被 1 替换, 1 全部被 0 替换。例如,反转 [0, 1, 1] 的结果是 [1, 0, 0]。实例输入: [[1,1,0],[1,0,1],[...
2018-10-28 13:11:52
161
原创 LeetCode0807.保持城市天际线
807.保持城市天际线描述在二维数组grid中,grid[i][j]代表位于某处的建筑物的高度。 我们被允许增加任何数量(不同建筑物的数量可能不同)的建筑物的高度。 高度 0 也被认为是建筑物。最后,从新数组的所有四个方向(即顶部,底部,左侧和右侧)观看的“天际线”必须与原始数组的天际线相同。 城市的天际线是从远处观看时,由所有建筑物形成的矩形的外部轮廓。 请看下面的例子。建筑物高度可以增...
2018-10-28 13:11:38
446
原创 LeetCode0771.宝石与石头
771.宝石与石头描述给定字符串J 代表石头中宝石的类型,和字符串 S代表你拥有的石头。 S 中每个字符代表了一种你拥有的石头的类型,你想知道你拥有的石头中有多少是宝石。J 中的字母不重复,J 和 S中的所有字符都是字母。字母区分大小写,因此"a"和"A"是不同类型的石头。实例输入: J = "aA", S = "aAAbbbb"输出: 3输入: J
2018-10-23 10:13:16
142
原创 LeetCode0766.托普利茨矩阵
766托普利茨矩阵-数组描述如果一个矩阵的每一方向由左上到右下的对角线上具有相同元素,那么这个矩阵是托普利茨矩阵。给定一个 M x N 的矩阵,当且仅当它是托普利茨矩阵时返回 True。实例输入: matrix = [ [1,2,3,4], [5,1,2,3], [9,5,1,2]]输出: True解释:在上述矩阵中, 其对角线为:"[9]", "[5, 5]",...
2018-10-23 10:13:04
260
原创 LeetCode0709.转换成小写字母
709.转换成小写字母描述实现函数 ToLowerCase(),该函数接收一个字符串参数 str,并将该字符串中的大写字母转换成小写字母,之后返回新的字符串。实例输入: "Hello"输出: "hello"输入: "here"输出: "here"输入: "LOVELY"输出: "lovely
2018-10-23 10:12:50
150
原创 LeetCode0992.按奇偶排序数组
922.按奇偶排序数组II描述给定一个非负整数数组 A, A 中一半整数是奇数,一半整数是偶数。对数组进行排序,以便当 A[i] 为奇数时,i 也是奇数;当 A[i] 为偶数时, i 也是偶数。你可以返回任何满足上述条件的数组作为答案。实例输入:[4,2,5,7]输出:[4,5,2,7]解释:[4,7,2,5],[2,5,4,7],[2,7,4,5] 也会被接受。题解whil...
2018-10-17 00:54:52
422
原创 LeetCode921.使括号有效的最少添加
921.使括号有效的最少添加描述给定一个由 '(' 和 ')' 括号组成的字符串 S,我们需要添加最少的括号( '(' 或是 ')',可以在任何位置),以使得到的括号字符串有效。从形式上讲,只有满足下面几点之一,括号字符串才是有效的:它是一个空字符串,或者它可以被写成 AB (A 与 B 连接), 其中 A 和 B 都是有效字符串,或者它可以被写作 (A),其中 A 是有效字符串。...
2018-10-17 00:54:26
623
原创 LeetCode0695.岛屿的最大面积
695岛屿的最大面积-数组描述给定一个包含了一些 0 和 1的非空二维数组 grid , 一个 岛屿 是由四个方向 (水平或垂直) 的 1 (代表土地) 构成的组合。你可以假设二维矩阵的四个边缘都被水包围着。找到给定的二维数组中最大的岛屿面积。(如果没有岛屿,则返回面积为0。)实例[[0,0,1,0,0,0,0,1,0,0,0,0,0], [0,0,0,0,0,0,0,1,1,1,0,...
2018-10-16 20:34:18
353
原创 LeetCode0665.非递减数列
665非递减数列-数组描述给定一个长度为 n 的整数数组,你的任务是判断在最多改变 1 个元素的情况下,该数组能否变成一个非递减数列。我们是这样定义一个非递减数列的:对于数组中所有的 `i` (1 <= i < n),满足 `array[i] <= array[i + 1]实例输入: [4,2,3]输出: True解释: 你可以通过把第一个4变成1来使得它成为一...
2018-10-16 20:34:05
249
原创 LeetCode0661.图片平滑器
661图片平滑器描述包含整数的二维矩阵 M 表示一个图片的灰度。你需要设计一个平滑器来让每一个单元的灰度成为平均灰度 (向下舍入) ,平均灰度的计算是周围的8个单元和它本身的值求平均,如果周围的单元格不足八个,则尽可能多的利用它们。实例输入:[[1,1,1], [1,0,1], [1,1,1]]输出:[[0, 0, 0], [0, 0, 0], [0, 0, 0]]解释:...
2018-10-16 20:33:47
164
原创 LeetCode0654.最大二叉树
0654.最大二叉树描述给定一个不含重复元素的整数数组。一个以此数组构建的最大二叉树定义如下:二叉树的根是数组中的最大元素。左子树是通过数组中最大值左边部分构造出的最大二叉树。右子树是通过数组中最大值右边部分构造出的最大二叉树。通过给定的数组构建最大二叉树,并且输出这个树的根节点。实例输入: [3,2,1,6,0,5]输出: 返回下面这棵树的根节点: 6 ...
2018-10-16 20:33:22
232
原创 LeetCode0566.重塑矩阵
566重塑矩阵-数组描述在MATLAB中,有一个非常有用的函数 reshape,它可以将一个矩阵重塑为另一个大小不同的新矩阵,但保留其原始数据。给出一个由二维数组表示的矩阵,以及两个正整数r和c,分别表示想要的重构的矩阵的行数和列数。重构后的矩阵需要将原始矩阵的所有元素以相同的行遍历顺序填充。如果具有给定参数的reshape操作是可行且合理的,则输出新的重塑矩阵;否则,输出原始矩阵。实...
2018-10-16 20:32:57
275
原创 LeetCode0561.数组拆分
561数组拆分-数组描述给定长度为 2n 的数组, 你的任务是将这些数分成 n 对, 例如 (a1, b1), (a2, b2), …, (an, bn) ,使得从1 到 n 的 min(ai, bi) 总和最大。实例输入: [1,4,3,2]输出: 4解释: n 等于 2, 最大总和为 4 = min(1, 2) + min(3, 4).题解从题目的理解就是要把数组里的元素进行...
2018-10-16 20:32:45
1105
原创 LeetCode0535.TingURL的加密与解密
535.TinyURL 的加密与解描述TinyURL是一种URL简化服务, 比如:当你输入一个URL https://leetcode.com/problems/design-tinyurl 时,它将返回一个简化的URL http://tinyurl.com/4e9iAk.要求:设计一个 TinyURL 的加密 encode 和解密 decode 的方法。你的加密和解密算法如何设计和运作是没...
2018-10-09 22:38:57
265
原创 LeetCode0485.最大连续1的个数
485最大连续1的个数-数组描述给定一个二进制数组, 计算其中最大连续1的个数。实例输入: [1,1,0,1,1,1]输出: 3解释: 开头的两位和最后的三位都是连续1,所以最大连续1的个数是 3.注意输入的数组只包含 0 和1。输入数组的长度是正整数,且不超过 10,000。题解遍历数组,如果值为1就counter++,否则将counter与max进行比较,去较大的一...
2018-10-09 22:38:37
186
原创 LeetCode0461.汉明距离
461.汉明距离描述两个整数之间的汉明距离指的是这两个数字对应二进制位不同的位置的数目。给出两个整数 x 和 y,计算它们之间的汉明距离。注意:0 ≤ x, y < 231.实例输入: x = 1, y = 4输出: 2解释:1 (0 0 0 1)4 (0 1 0 0) ↑ ↑上面的箭头指出了对应二进制位不同的位置。题解z是x和...
2018-10-09 22:38:24
195
原创 LeetCode0448.找到所有数组中消失的数字
448找到所有数组中消失的数字描述给定一个范围在 1 ≤ a[i] ≤ n ( n = 数组大小 ) 的 整型数组,数组中的元素一些出现了两次,另一些只出现一次。找到所有在 [1, n] 范围之间没有出现在数组中的数字。您能在不使用额外空间且**时间复杂度为*O(n)***的情况下完成这个任务吗? 你可以假定返回的数组不算在额外空间内。实例输入:[4,3,2,7,8,2,3,1]...
2018-10-08 20:44:47
289
原创 LeetCode0338.比特位计数
338.比特位计数描述给定一个非负整数 num。对于 0 ≤ i ≤ num 范围中的每个数字 i ,计算其二进制数中的 1 的数目并将它们作为数组返回。实例输入: 2输出: [0,1,1]输入: 5输出: [0,1,1,2,1,2]进阶给出时间复杂度为**O(n*sizeof(integer))的解答非常容易。但你可以在线性时间O(n)**内用一趟扫描做到吗?要求算法的...
2018-10-08 20:44:33
265
原创 LeetCode0283.移动零
283移动零-数组描述给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。实例输入: [0,1,0,3,12]输出: [1,3,12,0,0]说明必须在原数组上操作,不能拷贝额外的数组。尽量减少操作次数。题解一开始考虑使用类似排序算法的方式进行移动元素,但是这样的移动次数太多,而且原数组中非零元素有可能不是递增的,就需要多一步额外...
2018-10-08 20:44:21
260
原创 LeetCode0268.缺失数字
268缺失数字-数组描述给定一个包含 0, 1, 2, ..., n 中 n 个数的序列,找出 0 … n 中没有出现在序列中的那个数。实例输入: [3,0,1]输出: 2输入: [9,6,4,2,3,5,7,0,1]输出: 8说明你的算法应具有线性时间复杂度。你能否仅使用额外常数空间来实现?题解本题最简单的思...
2018-10-08 12:12:39
103
原创 LeetCode0217.存在重复元素
217存在重复元素-数组描述给定一个整数数组,判断是否存在重复元素。如果任何值在数组中出现至少两次,函数返回 true。如果数组中每个元素都不相同,则返回 false。实例输入: [1,2,3,1]输出: true输入: [1,2,3,4]输出: false输入: [1,1,1,3,3,4,3,2,4,2]输出: true题解使用了HashSet作为唯一元素存储的容器...
2018-10-08 12:12:21
106
原创 LeetCode0169.求众数
169求众数-数组描述给定一个大小为 n 的数组,找到其中的众数。众数是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素。你可以假设数组是非空的,并且给定的数组总是存在众数。实例输入: [3,2,3]输出: 3输入: [2,2,1,1,1,2,2]输出: 2题解首先使用Array.sort()对nums进行排序,然后再对nums进行遍历,如果nums[i]是第一次出现该元素,...
2018-10-08 12:12:08
115
原创 LeetCode0121.买股票的最佳时机
121买股票的最佳时机-数组描述给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。如果你最多只允许完成**一笔交易(**即买入和卖出一支股票),设计一个算法来计算你所能获取的最大利润。注意你不能在买入股票前卖出股票。实例输入: [7,1,5,3,6,4]输出: 5解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 ...
2018-10-07 23:50:19
126
原创 LeetCode0118.杨辉三角
118杨辉三角-数组描述给定一个非负整数 *numRows,*生成杨辉三角的前 numRows 行。实例输入: 5输出:[ [1], [1,1], [1,2,1], [1,3,3,1], [1,4,6,4,1]]题解本题相对较简单,只要根据上一层进行循环计算即可.其中,要求返回值为List<List>类型,但List在Java中为尚...
2018-10-07 23:50:07
134
原创 LeetCode0104.二叉树的最大深度
104.二叉树的最大深度描述给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明: 叶子节点是指没有子节点的节点。实例给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回它的最大深度 3 。节点描述// Definition for a binar...
2018-10-07 23:49:52
106
原创 LeetCode0078.子集
78.子集描述给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)。**说明:**解集不能包含重复的子集。实例输入: nums = [1,2,3]输出:[ [3], [1], [2], [1,2,3], [1,3], [2,3], [1,2], []]题解全排列问题维护一个栈用于保存迭代时的状态栈中使用int[]描述...
2018-10-07 14:51:16
114
原创 LeetCode0058.螺旋矩阵
59.螺旋矩阵 II描述给定一个正整数 n,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的正方形矩阵。实例输入: 3输出:[ [ 1, 2, 3 ], [ 8, 9, 4 ], [ 7, 6, 5 ]]题解画一下示意图就可以知道,每条边长是有规律的第一圈: ➡️n; ⬇️n-1; ⬅️n-1; ⬆️n-2;第二圈: ...
2018-10-07 14:50:53
252
原创 LeetCode0025.N皇后
52.N皇后II描述n皇后问题研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击。给定一个整数 n,返回 n 皇后不同的解决方案的数量。实例输入: 4输出: 2解释: 4 皇后问题存在如下两个不同的解法。[ [".Q..", // 解法 1 "...Q", "Q...", "..Q."], [&am
2018-10-07 14:50:32
105
原创 LeetCode0022.括号生成
22.括号生成描述给出 n 代表生成括号的对数,请你写出一个函数,使其能够生成所有可能的并且有效的括号组合。实例例如,给出 n = 3,生成结果为:[ "((()))", "(()())", "(())()", "()(())", "()()()"
2018-10-07 14:50:14
203
原创 LetCode0027移除元素
27移除元素-数组描述给定一个数组 nums 和一个值 val,你需要原地移除所有数值等于 val 的元素,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。实例给定 nums = [3,2,2,3], val = 3,函数应该返回新的长度 2, 并且 num...
2018-10-06 15:14:43
200
原创 LeetCode0001.两数之和
1两数之和-数组描述给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。实例给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]题解最容易想到的是暴利破解,遍历数组中任意两元素之和,并与目标值进行比较,...
2018-10-05 18:51:20
141
原创 OpenCV坑
error LNK1104:无法打开文件"IlmImfd.lib" 找到对应的文件错在文件夹,将其包括至项目属性管理器Microsoft.Cpp.Win32.user -> VC++目录 -> 库目录1>LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏 在VS安装目录找到同名文件cvtres.exe,删除老的一个文件.
2017-04-12 14:46:06
957
原创 考研总结
考研结束,在拟录取名单中。 八月底开始的仓促准备,一直到3月底才真的安心下来。 - 应试总是有迹可循 - 总结远比重复更有效 - 数学需要练习和归类 - 自主命题老师懒,多看往年真题 - 一个人走夜路终究会累的,找个靠谱同伴 - 英语很重要 - 数学和专业课更加 - 优势再大也要拼尽全力 - 初试顺便练习好的口音,复试面试会有蜜汁加成 - 大家都要有个好的本
2017-03-28 12:24:28
285
原创 数字图像处理笔记02
数字图像处理基本运算图像的像素级运算点运算 — 线性点运算,非线性点运算 线性点运算 D_{out} = f(D_{in}) = aD_{in} + b 取值 变化 a = 1;b = 0 取值 恒等 a < 0 黑白反转 |a| > 1 增加对比度 |a| < 1 减少对
2017-02-17 10:50:42
944
原创 数字图像处理笔记01
图像及其数字处理01图像的表示二维图像的成像过程 反射光或发射光线→\to成像系统 →\to 成像平面 →\to 输出图像数字图像的基本要素像素(pixel):数字图像的基本单位像素坐标系:对图像分布进行二位空间采样(左上角为原点)像素值:对单个像素灰度值进行数字化采样图像尺寸:一幅数字图像矩阵的大小矩阵表示图像是像素的二维排列一般采用均匀采样特殊情况下也采用非均匀采样数学表示二
2017-01-18 18:55:15
1682
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人