letcode
往者之不谏
剑未配好,出门便是江湖
展开
-
letcode最大子序和
给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例:输入: [-2,1,-3,4,-1,2,1,-5,4], 输出: 6 解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。 思路:使用一个变量来存储当前的最大子序列和,一个变量来存储遍历数组的和来尝试找出更大的结果class Solution { pub...原创 2018-08-31 21:03:55 · 176 阅读 · 0 评论 -
letcode 根据字符出现频率排序
题目描述:给定一个字符串,请将字符串里的字符按照出现的频率降序排列。示例 1:输入:“tree”输出:“eert”解释:'e’出现两次,'r’和’t’都只出现一次。因此’e’必须出现在’r’和’t’之前。此外,"eetr"也是一个有效的答案。示例 2:输入:“cccaaa”输出:“cccaaa”解释:'c’和’a’都出现三次。此外,"aaaccc"也是有效的答案。...原创 2018-10-05 23:57:31 · 235 阅读 · 0 评论 -
letcode 同构字符串
题目描述:给定两个字符串 s 和 t,判断它们是否是同构的。如果 s 中的字符可以被替换得到 t ,那么这两个字符串是同构的。所有出现的字符都必须用另一个字符替换,同时保留字符的顺序。两个字符不能映射到同一个字符上,但字符可以映射自己本身。示例 1:输入: s = “egg”, t = “add”输出: true示例 2:输入: s = “foo”, t = “bar”输出: f...原创 2018-10-04 13:35:08 · 111 阅读 · 0 评论 -
letcode 子集
题目描述: 给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)。说明:解集不能包含重复的子集。示例:输入: nums = [1,2,3] 输出: [ [3], [1], [2], [1,2,3], [1,3], [2,3], [1,2], [] ] 思路:此题属于动态规划问题,比如给一个数组[1,2,3]...原创 2018-09-14 13:42:19 · 187 阅读 · 0 评论 -
letcode 螺旋矩阵二
题目描述:螺旋矩阵 II给定一个正整数 n,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的正方形矩阵。示例:输入: 3输出:[[ 1, 2, 3 ],[ 8, 9, 4 ],[ 7, 6, 5 ]]实路:和螺旋矩阵一一样,首先确定需要遍历的次数,之后就是对矩形的四条边进行填数。代码:class Solution { public int[][]...原创 2018-09-24 21:05:58 · 151 阅读 · 0 评论 -
letcode 螺旋矩阵
题目描述: 给定一个包含 m x n 个元素的矩阵(m 行, n 列),请按照顺时针螺旋顺序,返回矩阵中的所有元素。示例 1:输入: [ [ 1, 2, 3 ], [ 4, 5, 6 ], [ 7, 8, 9 ] ] 输出: [1,2,3,6,9,8,7,4,5] 示例 2:输入: [ [1, 2, 3, 4], [5, 6, 7, 8], [...原创 2018-09-13 22:01:48 · 174 阅读 · 0 评论 -
letcode 最接近的三数之和
题目描述: 给定一个包括 n 个整数的数组 nums 和 一个目标值 target。找出 nums 中的三个整数,使得它们的和与 target 最接近。返回这三个数的和。假定每组输入只存在唯一答案。例如,给定数组 nums = [-1,2,1,-4], 和 target = 1.与 target 最接近的三个数的和为 2. (-1 + 2 + 1 = 2). 思路:和三数求和差不多,我...原创 2018-09-07 18:04:00 · 246 阅读 · 0 评论 -
letcode 删除排序数组中的重复项 II
题目描述: 给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素最多出现两次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。示例 1:给定 nums = [1,1,1,2,2,3],函数应返回新长度 length = 5, 并且原数组的前五个元素被修改为 1, 1, 2, 2, 3 。你不需要考虑数...原创 2018-09-10 23:46:52 · 155 阅读 · 0 评论 -
letcode 最长回文子串
题目描述: 给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为1000。示例 1:输入: “babad” 输出: “bab” 注意: “aba”也是一个有效答案。 示例 2:输入: “cbbd” 输出: “bb” 思路:寻找最长的回文子串,所以按照长度从大到小来遍历数组,判断是否符合回文字符子串,比如:输入 babad 第一次: 长度为 4 ...原创 2018-09-07 14:34:32 · 136 阅读 · 0 评论 -
letcode 除自身以外数组的乘积
题目描述: 给定长度为 n 的整数数组 nums,其中 n > 1,返回输出数组 output ,其中 output[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积。示例:输入: [1,2,3,4] 输出: [24,12,8,6] 说明: 请不要使用除法,且在 O(n) 时间复杂度内完成此题。进阶: 你可以在常数空间复杂度内完成这个题目吗?( 出于对空间...原创 2018-09-12 23:54:55 · 305 阅读 · 0 评论 -
letcode 两个排序数组的中位数
题目描述: 给定两个大小为 m 和 n 的有序数组 nums1 和 nums2 。请找出这两个有序数组的中位数。要求算法的时间复杂度为 O(log (m+n)) 。你可以假设 nums1 和 nums2 不同时为空。示例 1:nums1 = [1, 3] nums2 = [2]中位数是 2.0 示例 2:nums1 = [1, 2] nums2 = [3, 4]...原创 2018-09-06 23:07:15 · 99 阅读 · 0 评论 -
letcode 全排列
题目描述: 给定一个没有重复数字的序列,返回其所有可能的全排列。示例:输入: [1,2,3] 输出: [ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1] ]思路:通过分析可知,这道题需要用递归求解,因为递归可以回到上一步的状态,而且,我们需要一个函数来交换数组中的两个数,之后,我们...原创 2018-09-16 22:38:33 · 272 阅读 · 0 评论 -
letcode 盛最多水的容器
题目描述: 给定 n 个非负整数 a1,a2,…,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。说明:你不能倾斜容器,且 n 的值至少为 2。图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能...原创 2018-09-08 15:35:55 · 185 阅读 · 0 评论 -
letcode 颜色分类
题目描述: 给定一个包含红色、白色和蓝色,一共 n 个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。此题中,我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。注意: 不能使用代码库中的排序函数来解决这道题。示例:输入: [2,0,2,1,1,0] 输出: [0,0,1,1,2,2] 进阶:一个直观的解决方案是使用计数排序...原创 2018-09-11 14:28:40 · 429 阅读 · 0 评论 -
letcode帕斯卡三角形
题目描述: 帕斯卡三角形 给定一个非负整数 numRows,生成杨辉三角的前 numRows 行。在杨辉三角中,每个数是它左上方和右上方的数的和。示例:输入: 5 输出: [ [1], [1,1], [1,2,1], [1,3,3,1], [1,4,6,4,1] ] 输出类型为Listclass Solution { ...原创 2018-09-03 00:15:05 · 256 阅读 · 0 评论 -
letcode 颠倒二进制位
颠倒二进制位 颠倒给定的 32 位无符号整数的二进制位。示例:输入: 43261596 输出: 964176192 解释: 43261596 的二进制表示形式为 00000010100101000001111010011100 , 返回 964176192,其二进制表示形式为 00111001011110000010100101000000 。 进阶: 如果多次调用这...原创 2018-09-02 23:53:20 · 312 阅读 · 1 评论 -
letcode 位1的个数
位1的个数 编写一个函数,输入是一个无符号整数,返回其二进制表达式中数字位数为 ‘1’ 的个数(也被称为汉明重量)。示例 :输入: 11 输出: 3 解释: 整数 11 的二进制表示为 00000000000000000000000000001011示例 2:输入: 128 输出: 1 解释: 整数 128 的二进制表示为 000000000000000000000000...原创 2018-09-02 18:26:27 · 150 阅读 · 0 评论 -
letcode 不同路径(图的广度优先搜索实现)
题目描述:一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。问总共有多少条不同的路径? 例如,上图是一个7 x 3 的网格。有多少可能的路径?说明:m 和 n 的值均不超过 100。示例 1:输入: m = 3, n = 2 输出: 3...原创 2018-09-04 16:04:12 · 187 阅读 · 0 评论 -
letcode 搜索二维矩阵 II
题目描述:编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target。该矩阵具有以下特性:每行的元素从左到右升序排列。每列的元素从上到下升序排列。示例:现有矩阵 matrix 如下:[[1, 4, 7, 11, 15],[2, 5, 8, 12, 19],[3, 6, 9, 16, 22],[10, 13, 14, 17, 24],...原创 2019-03-01 22:50:11 · 166 阅读 · 0 评论