摘要: 给定一个整数数组,给定一个值K,这个值在原数组中一定存在,要求把数组中小于K的元素放到数组的左边,大于K的元素放到数组的右边,等于K的元素放到数组的中间,最终返回一个整数数组,其中只有两个值,分别是等于K的数组部分的左右两个下标值。 思路:设定一个小于区less,跟大于区more,以及一个指向数组L位置的下标cur(给定数组区间的最前下标),当数组元素小于给定值时,交换数组元素跟小于区的下一个... 阅读全文
posted @ 2019-05-03 22:08 Dloading 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 思路:设置一个小于等于区x=-1;遍历数组元素,当数组元素小于等于给定数时,将数组元素跟小于等于区x所指下一个数组元素进行交换。 阅读全文
posted @ 2019-05-03 21:24 Dloading 阅读(901) 评论(0) 推荐(0) 编辑
摘要: 给定一个二进制数组, 计算其中最大连续1的个数。 示例 1: 输入: [1,1,0,1,1,1] 输出: 3 解释: 开头的两位和最后的三位都是连续1,所以最大连续1的个数是 3. 注意: 输入的数组只包含 0 和1。 输入数组的长度是正整数,且不超过 10,000。 解法1: public int findMaxConsecutiveOnes(int[] nums) { ... 阅读全文
posted @ 2019-05-03 20:04 Dloading 阅读(154) 评论(0) 推荐(0) 编辑
摘要: 给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。 示例: 输入: [0,1,0,3,12] 输出: [1,3,12,0,0] 说明: 必须在原数组上操作,不能拷贝额外 的数组。 尽量减少操作次数。 解法1: public void moveZeroes(int[] nums) { int n=nums.length-1; ... 阅读全文
posted @ 2019-05-03 17:05 Dloading 阅读(79) 评论(0) 推荐(0) 编辑
摘要: 给定一个非负索引 k,其中 k ≤ 33,返回杨辉三角的第 k 行。 在杨辉三角中,每个数是它左上方和右上方的数的和。 示例: 输入: 3 输出: [1,3,3,1] 进阶: 你可以优化你的算法到 O(k) 空间复杂度吗? 解法一:先求出整个所需要的杨辉三角在返回具体行所在集合 public List getRow(int rowIndex) { List> list... 阅读全文
posted @ 2019-05-03 14:36 Dloading 阅读(172) 评论(0) 推荐(0) 编辑