Leetcode题解之数组

完美的数组逆置算法

Leetcode题解之数组_第1张图片

整型数组的逆置算法

最简单的首尾互换:

Leetcode题解之数组_第2张图片

合理利用泛型

Leetcode题解之数组_第3张图片

封装类型与基本类型的各自适用范围

Leetcode题解之数组_第4张图片
Leetcode题解之数组_第5张图片

旋转数组

Leetcode 189. Rotate Array

三步反转法:

Leetcode题解之数组_第6张图片

和为s的两个数字

Leetcode题解之数组_第7张图片
Leetcode题解之数组_第8张图片
Leetcode题解之数组_第9张图片
Leetcode题解之数组_第10张图片

和为s的连续正整数序列

Leetcode题解之数组_第11张图片

思路:利用双指针start ,end;
当前s数列和为sum,如果当前 数列和小于s那么end++,如果大于s,那么start++,如果等于则输出start到end,当start=(s+1)/2时退出循环,因为此时start加到end肯定大于s。

Leetcode题解之数组_第12张图片

伪代码描述:

Leetcode题解之数组_第13张图片

示例代码:

Leetcode题解之数组_第14张图片

删除排序数组中的重复元素

问题描述

Leetcode题解之数组_第15张图片

借助ArrayList解决问题

Leetcode题解之数组_第16张图片

时间空间复杂度都为O(n)


Leetcode题解之数组_第17张图片

直接覆盖解决问题

定义两个指针i=0,j=1从第一个之后跟前面元素对比,如果相同就跳过(j++),如果不同就直接让它排在(i++)的位置,然后再让更新的i的后面与i对比,直到j指针等于nums.length的时候退出。

Leetcode题解之数组_第18张图片

空间复杂度为0(1).

你可能感兴趣的:(Leetcode题解之数组)