数组理论基础
- 数组是存放在连续空间上的相同类型数据的集合
- 数组的元素是不能删的,只能覆盖
二分查找
704. 二分查找
class Solution {
public int search(int[] nums, int target) {
int i=0,j=nums.length-1;
while(i<j)
{
int mid=(i+j)/2;
if(target<nums[mid])
{
j=mid-1;
}
else if(target>nums[mid])
{
i=mid+1;
}
else
{
return mid;
}
}
return -1;
}
}
移除元素
27. 移除元素
class Solution {
public int removeElement(int[] nums, int val) {
int slowIndex=0;
for(int fastIndex=0;fastIndex<nums.length;fastIndex++)
{
if(nums[fastIndex]!=val)
{
nums[slowIndex]=nums[fastIndex];
slowIndex++;
}
}
return slowIndex;
}
}
有序数组的平方
977. 有序数组的平方
class Solution {
public int[] sortedSquares(int[] nums) {
int index=nums.length-1;
int []result=new int[nums.length];
int left=0,right=nums.length-1;
while(left<=right)
{
if(nums[left]*nums[left]<nums[right]*nums[right])
{
result[index]=nums[right]*nums[right];
right--;
index--;
}
else
{
result[index]=nums[left]*nums[left];
index--;
left++;
}
}
return result;
}
}