2020/08/13 探索->初级算法

概述

由LeetCode官方推出的经典面试题目清单,将题目重新整理规划,从而为大家提供更好的练习体验和帮助大家找到理想的工作。将题目分为以下三个部分:

  1. 初级算法-> 帮助入门
  2. 中级算法-> 巩固训练
  3. 高级算法-> 提升进阶

leetcode网站

数组

1.删除排序数组中的重复项 2020/08/13

2020/08/13 探索->初级算法
给定一个排序数组,需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组控件,你必须在原地修改数组,并使用O(1)额外空间的条件下完成。
输入:nums =[1,1,2]
函数应该返回新的长度2,并且原数组nums的前两个元素被修改为1,2。

说明:
为什么返回数值是整数,但输出的答案是数组呢?
注意:输入数组是以引用的方式传递的,意味着在函数里修改输入数组对于调用者是可见的。
可以想象内部操作如下:
2020/08/13 探索->初级算法
目前想法:首先明确,该数组是有序的,并且在原地修改数组数组,使用O(1)的额外空间条件下完成,且不需要考虑超出新长度后面的元素。
感觉挺简单的,由于有顺序,设定一个值用于给数组重新赋值(每当数组当中元素比之前的元素大的时候),最后返回这个值就可以了。
2020/08/13 探索->初级算法
这个nums没有给定范围是有可能为空数组的,因此需要加判断。
2020/08/13 探索->初级算法

2.买卖股票的最佳时机 II

3.旋转数组

4.存在重复元素

5.只出现一次的数字

6.两个数组的交集 II

7.加一

8.移动零

9.两数之和

10.有效的孤独

11.旋转图像

字符串

链表

排序和搜索

动态规划

设计问题

数学

其他