算法学习(数组相关问题)

2021-12-16  本文已影响0人  SEU小翔哥

计算x的n次方

double pow(double x , int n){
assert(n>=0);
if(n==0) return 1.0 ;
double t = pow(x,n/2);
if(n%2) return xtt;
return t*t;
}

数组中的问题

二分查找

template<typename T>
int binarySearch(T arr[], int n, T target){
int l =0, r = n-1;
while(l<=r){
//int mid = (l+r)/2;//会出现溢出
int mid = l + (r-l)/2;
if(arr[mid] == target) return mid;
if(arr[mid] > target) r = mid-1;
if(arr[mid] < target) l = mid+1;
}
return -1;
}

LeetCode 283 移动零

image.png

LeetCode 26 删除有序数组中的重复项(练习)完成

image.png

LeetCode 27 移除元素(练习) 完成, 方法:双指针

image.png

LeetCode 80 删除数组中的重复项II(练习) 完成, 方法:双指针

image.png

LeetCode 75 颜色分类

image.png

LeetCode 88 归并排序(练习) 完成,方法:逆向双指针

image.png

LeetCode 215 数组中最大的元素(练习)完成,方法:快速排序

image.png

LeetCode 167 两数之和,方法:对撞指针

image.png

LeetCode 125 验证回文串(练习)完成,方法:对撞指针

image.png

LeetCode 344 字符串翻转(练习)完成,方法:对撞指针

image.png

LeetCode 345 翻转字符串中元音字母(练习)完成,方法:对撞指针

image.png

LeetCode 11 盛水最多的容器(练习)完成,方法:对撞指针

image.png
image.png

LeetCode 209 长度最小的子数组, 方法:滑动窗口

image.png

LeetCode 3 无重复字符的最长子串, 方法:滑动窗口

image.png

LeetCode 438 找到字符串中所有字母异位词(练习)完成,方法:滑动窗口

image.png

LeetCode 76 最小覆盖子串(练习)完成,方法:滑动窗口

image.png
上一篇 下一篇

猜你喜欢

热点阅读