数组与字符串
数组与字符串
不吃糖葫芦
这个作者很懒,什么都没留下…
展开
-
LeetCode 912. 排序数组(Java)
912. 排序数组你一个整数数组 nums,请你将该数组升序排列。示例 1:输入:nums = [5,2,3,1]输出:[1,2,3,5]提示:1 <= nums.length <= 50000-50000 <= nums[i] <= 50000来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/sort-...原创 2020-03-31 20:13:47 · 204 阅读 · 0 评论 -
LeetCode 283. 移动零(Java)
283. 移动零给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。示例:输入: [0,1,0,3,12]输出: [1,3,12,0,0]说明:必须在原数组上操作,不能拷贝额外的数组。尽量减少操作次数。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/move-zeroes著作权归领扣...原创 2020-03-26 22:28:05 · 84 阅读 · 0 评论 -
LeetCode 26. 删除排序数组中的重复项 (Java)
删除排序数组中的重复项给定一个排序数组,你需要在 原地 删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。示例 1:给定数组 nums = [1,1,2],函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。你不需要考虑数组中超出新长度后面...原创 2020-03-07 09:59:39 · 137 阅读 · 0 评论 -
反转字符串中的单词 III (Java)
反转字符串中的单词 III给定一个字符串,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。示例 1:输入: “Let’s take LeetCode contest”输出: “s’teL ekat edoCteeL tsetnoc”注意:在字符串中,每个单词由单个空格分隔,并且字符串中不会有任何额外的空格。class Solution { public S...原创 2020-03-26 22:10:11 · 148 阅读 · 0 评论 -
LeetCode 151. 翻转字符串里的单词(Java)
151. 翻转字符串里的单词给定一个字符串,逐个翻转字符串中的每个单词。示例 1:输入: “the sky is blue”输出: “blue is sky the”说明:无空格字符构成一个单词。输入字符串可以在前面或者后面包含多余的空格,但是反转后的字符不能包括。如果两个单词间有多余的空格,将反转后单词间的空格减少到只含一个。来源:力扣(LeetCode)链接:https:/...原创 2020-03-26 21:56:22 · 260 阅读 · 0 评论 -
LeetCode 119. 杨辉三角 II (Java)
119. 杨辉三角 II给定一个非负索引 k,其中 k ≤ 33,返回杨辉三角的第 k 行。在杨辉三角中,每个数是它左上方和右上方的数的和。示例:输入: 3输出: [1,3,3,1]进阶:你可以优化你的算法到 O(k) 空间复杂度吗?思路:本次所给rowIndex是从0开始计数的,空间复杂度为k,就每次处理后直接覆盖前一轮数据即可,从右向左处理可以避免前一轮数据没有使用完便被覆盖的...原创 2020-03-26 21:01:25 · 122 阅读 · 0 评论 -
LeetCode 189. 旋转数组 (Java)
189. 旋转数组给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数。示例 1:输入: [1,2,3,4,5,6,7] 和 k = 3输出: [5,6,7,1,2,3,4]解释:向右旋转 1 步: [7,1,2,3,4,5,6]向右旋转 2 步: [6,7,1,2,3,4,5]向右旋转 3 步: [5,6,7,1,2,3,4]来源:力扣(LeetCode)链接...原创 2020-03-26 20:57:25 · 118 阅读 · 0 评论 -
LeetCode 209. 长度最小的子数组(Java)
209. 长度最小的子数组给定一个含有 n 个正整数的数组和一个正整数 s ,找出该数组中满足其和 ≥ s 的长度最小的连续子数组。如果不存在符合条件的连续子数组,返回 0。示例:输入: s = 7, nums = [2,3,1,2,4,3]输出: 2解释: 子数组 [4,3] 是该条件下的长度最小的连续子数组。进阶:如果你已经完成了O(n) 时间复杂度的解法, 请尝试 O(n lo...原创 2020-03-26 18:08:23 · 184 阅读 · 0 评论 -
LeetCode 485. 最大连续1的个数 (Java)
485. 最大连续1的个数给定一个二进制数组, 计算其中最大连续1的个数。示例 1:输入: [1,1,0,1,1,1]输出: 3解释: 开头的两位和最后的三位都是连续1,所以最大连续1的个数是 3.注意:输入的数组只包含 0 和1。输入数组的长度是正整数,且不超过 10,000。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems...原创 2020-03-26 16:53:08 · 84 阅读 · 0 评论 -
LeetCode 27. 移除元素 (Java)
移除元素给定一个数组 nums 和一个值 val,你需要原地移除所有数值等于 val 的元素,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。示例 1:给定 nums = [3,2,2,3], val = 3,函数应该返回新的长度 2, 并且 nums 中的...原创 2020-03-06 11:25:25 · 100 阅读 · 0 评论 -
LeetCode 167. 两数之和 II - 输入有序数组(Java)
167. 两数之和 II - 输入有序数组给定一个已按照升序排列 的有序数组,找到两个数使得它们相加之和等于目标数。函数应该返回这两个下标值 index1 和 index2,其中 index1 必须小于 index2。说明:返回的下标值(index1 和 index2)不是从零开始的。你可以假设每个输入只对应唯一的答案,而且你不可以重复使用相同的元素。示例:输入: numbers =...原创 2020-03-25 23:01:26 · 111 阅读 · 0 评论 -
LeetCode 561. 数组拆分 I(Java)
561. 数组拆分 I给定长度为 2n 的数组, 你的任务是将这些数分成 n 对, 例如 (a1, b1), (a2, b2), …, (an, bn) ,使得从1 到 n 的 min(ai, bi) 总和最大。示例 1:输入: [1,4,3,2]输出: 4解释: n 等于 2, 最大总和为 4 = min(1, 2) + min(3, 4).提示:n 是正整数,范围在 [1, 10...原创 2020-03-25 22:38:06 · 111 阅读 · 0 评论 -
LeetCode 344. 反转字符串(Java)
344. 反转字符串编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 char[] 的形式给出。不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。你可以假设数组中的所有字符都是 ASCII 码表中的可打印字符。示例 1:输入:[“h”,“e”,“l”,“l”,“o”]输出:[“o”,“l”,“l”,“e”,“h”]来源:...原创 2020-03-25 22:26:24 · 154 阅读 · 0 评论 -
LeetCode 14. 最长公共前缀(Java)
最长公共前缀编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 “”。示例 1:输入: [“flower”,“flow”,“flight”]输出: “fl”来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/longest-common-prefix著作权归领扣网络所有。商业转载请联系官方授权,非商业...原创 2020-03-06 18:35:30 · 107 阅读 · 0 评论 -
LeetCode 28. 实现 strStr()(Java)
28. 实现 strStr()实现 strStr() 函数。给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回 -1。示例 1:输入: haystack = “hello”, needle = “ll”输出: 2说明:当 needle 是空字符串时,我们应当返回什...原创 2020-03-25 21:38:26 · 153 阅读 · 0 评论 -
LeetCode 67. 二进制求和(Java)
67. 二进制求和给定两个二进制字符串,返回他们的和(用二进制表示)。输入为非空字符串且只包含数字 1 和 0。示例 1:输入: a = “11”, b = “1”输出: “100”来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/add-binary著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。思路:将两...原创 2020-03-25 20:58:04 · 166 阅读 · 0 评论 -
LeetCode 118. 杨辉三角(Java)
118. 杨辉三角给定一个非负整数 numRows,生成杨辉三角的前 numRows 行。在杨辉三角中,每个数是它左上方和右上方的数的和。示例:输入: 5输出:[[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]]来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/pascals-triang...原创 2020-03-25 20:23:28 · 102 阅读 · 0 评论 -
LeetCode 54. 螺旋矩阵(Java)
54. 螺旋矩阵给定一个包含 m x n 个元素的矩阵(m 行, n 列),请按照顺时针螺旋顺序,返回矩阵中的所有元素。示例 1:输入:[[ 1, 2, 3 ],[ 4, 5, 6 ],[ 7, 8, 9 ]]输出: [1,2,3,6,9,8,7,4,5]来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/spiral-mat...原创 2020-03-25 19:45:11 · 132 阅读 · 0 评论 -
LeetCode 498. 对角线遍历(Java)
498. 对角线遍历给定一个含有 M x N 个元素的矩阵(M 行,N 列),请以对角线遍历的顺序返回这个矩阵中的所有元素,对角线遍历如下图所示。示例:输入:[[ 1, 2, 3 ],[ 4, 5, 6 ],[ 7, 8, 9 ]]输出: [1,2,4,7,5,3,6,8,9]说明:给定矩阵中的元素总数不会超过 100000 。来源:力扣(LeetCode)链接:htt...原创 2020-03-25 18:55:46 · 176 阅读 · 0 评论 -
LeetCode 66. 加一(Java)
66. 加一给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。示例 1:输入: [1,2,3]输出: [1,2,4]解释: 输入数组表示数字 123。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/p...原创 2020-03-25 16:41:04 · 70 阅读 · 0 评论 -
LeetCode 747. 至少是其他数字两倍的最大数(Java)
747. 至少是其他数字两倍的最大数在一个给定的数组nums中,总是存在一个最大元素 。查找数组中的最大元素是否至少是数组中每个其他数字的两倍。如果是,则返回最大元素的索引,否则返回-1。示例 1:输入: nums = [3, 6, 1, 0]输出: 1解释: 6是最大的整数, 对于数组中的其他整数,6大于数组中其他元素的两倍。6的索引是1, 所以我们返回1.提示:nums 的...原创 2020-03-25 15:41:04 · 95 阅读 · 0 评论 -
数组与字符串
数组与字符串数组数组是一种基本的数据结构,用于按顺序存储元素的集合。但是元素可以随机存取,因为数组中的每个元素都可以通过数组索引来识别。数组的用法:// "static void main" must be defined in a public class.public class Main { public static void main(String[] args) {...原创 2020-03-25 15:15:03 · 216 阅读 · 0 评论 -
LeetCode 724. 寻找数组的中心索引(Java)
724. 寻找数组的中心索引给定一个整数类型的数组 nums,请编写一个能够返回数组“中心索引”的方法。我们是这样定义数组中心索引的:数组中心索引的左侧所有元素相加的和等于右侧所有元素相加的和。如果数组不存在中心索引,那么我们应该返回 -1。如果数组有多个中心索引,那么我们应该返回最靠近左边的那一个。示例 1:输入:nums = [1, 7, 3, 6, 5, 6]输出: 3解释:...原创 2020-03-25 15:13:27 · 85 阅读 · 0 评论