![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
初级算法
Love丶Y
这个作者很懒,什么都没留下…
展开
-
LeetCode-初级算法-从排序数组中删除重复项
运行结果一、题目描述1、给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。eg :① 给定数组 nums = [1,1,2],执行代码之后结果为:nums = [ 1 , 2 , 2 ] 方法的返回值为 2 &nb...原创 2019-04-08 19:21:56 · 362 阅读 · 0 评论 -
LeetCode-初级算法-移动零
运行结果一、题目二、分析三、源码class Solution { public void moveZeroes(int[] nums) { int j = 0; for(int i = 0; i < nums.length; i++){ if(0 != nums[i]){ nums[j...原创 2019-04-29 13:15:05 · 165 阅读 · 0 评论 -
LeetCode-初级算法-只出现一次的数字
运行结果一、题目二、分析1、 根据题目的介绍我们可以得到以下结论数组不为空,而且有一个元素至出现了1次,其余元素均出现了2次数组的长度为奇数,即数组长度为1 、3、5、7…( 2 * i + 1 ) …等线性时间复杂度:时间复杂度最高为O(n)不使用额外空间:空间复杂度最高为O(1)方法一、使用异或运算(^)异或运算是在数值的二进制码上进行的操作,对应位相同为0,不...原创 2019-04-24 13:27:12 · 729 阅读 · 0 评论 -
LeetCode-初级算法-加一
运行结果一、题目二、分析三、源码class Solution { public int[] plusOne(int[] digits) { for(int i = digits.length - 1; i >= 0; i--){ if(digits[i] < 9){ digits[i] += 1...原创 2019-04-28 20:34:32 · 279 阅读 · 0 评论 -
LeetCode-初级算法-有效的数独 ( java )
运行结果1、题目2、分析3、源码class Solution { public boolean isValidSudoku(char[][] board) { for(int i = 0; i < 9; i++){ HashSet<Character> s1 = new HashSet<>(); ...原创 2019-05-03 14:13:28 · 296 阅读 · 0 评论 -
LeetCode-初级算法-存在重复元素
运行结果1、题目2、分析方法一、先对数组进行排序,使用Arrays类的静态方法sort可以对数组进行升序排列,这样就会得到一个有序数组,循环判断相邻的元素是否相同,如果有相同值则返回true;3、源码class Solution { public boolean containsDuplicate(int[] nums) { if(2 > nums.l...原创 2019-04-23 17:18:35 · 201 阅读 · 0 评论 -
LeetCode-初级算法-旋转数组
一、题目描述1、给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数。尽可能想出更多的解决方案,至少有三种不同的方法可以解决这个问题。要求使用空间复杂度为 O(1) 的原地算法。2、eg:输入: [1,2,3,4,5,6,7] 和 k = 3 输出: [5,6...原创 2019-04-22 17:49:10 · 228 阅读 · 0 评论 -
LeetCode-初级算法-两个数组的交集
运行结果一、题目二、分析三、源码class Solution { public int[] intersect(int[] nums1, int[] nums2) { if(0 == nums1.length || 0 == nums2.length){ return new int[]{}; } Arra...原创 2019-04-26 18:50:34 · 236 阅读 · 0 评论 -
LeetCode-初级算法-买卖股票的最佳时机 II
运行结果一、题目描述给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。eg:① [7,1,5,3,6,4] 第二天买入,第三天卖出,利润(5-1)=4,第四天买入,第五天卖出,利润(6-3)=3元,总利润(4+3)...原创 2019-04-09 12:05:59 · 235 阅读 · 0 评论 -
LeetCode-初级算法-两数之和
运行结果一、题目二、分析时间复杂度:O(n)空间复杂度:O(n)题目没有对空间做要求,所以我们应该采用以空间换时间的思路。题目要求找到符合要求的元素的下标。我们在结题时无论采用哪种方法,一定是先找到符合题目要求的两个元素。然后将其对应的下标作为返回值。这种有对应关系的数据与键(key)值(value)对很类似。使用哈希表会非常容易。步骤:首先对空数组以及数组长度为1 的情况进...原创 2019-04-30 18:36:36 · 282 阅读 · 0 评论