数据结构与算法
约 164 字小于 1 分钟
2025-12-29
排序算法
⭐快速排序
public void quickSort(int[] arr,int left,int right){
if(left>= right){
return;
}
// 找到基准元素
int pivot = arr[left + (right - left)/2];
int gt = right;
int lt = left;
int i = left;
while(i <= gt){
if(arr[i]<pivot){
swap(arr,lt,i);
lt++;
i++;
}else if(arr[i] > pivot){
swap(arr,i,gt);
gt--;
}else{
i++;
}
}
quickSort(arr,left,lt -1);
quickSort(arr,gt+1)
}
public void swap(int[] arr,int i,int j){
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}数组
⭐买卖股票的最佳时期
public void maxProfit(int[] prices){
int minPrice = Integer.MAX_VALUE;
int maxProfit = 0;
for(int i=0;i<prices.length;i++){
if(prices[i] < minPrice){
minPrice = prices[i];
}else if(prices[i] - minPrice > maxProfit){
maxProfit = prices[i] - minPrice;
}
}
return
}