算法基础
Leeffee
这个作者很懒,什么都没留下…
展开
-
【算法题-寻找峰值】
寻找峰值 峰值元素是指其值大于左右相邻值的元素。 给定一个输入数组 nums,其中 nums[i] ≠ nums[i+1],找到峰值元素并返回其索引。 数组可能包含多个峰值,在这种情况下,返回任何一个峰值所在位置即可。 你可以假设 nums[-1] = nums[n] = -∞。 示例 1: 输入: nums = [1,2,3,1] 输出: 2 解释: 3 是峰值元素,你的函数应该返回其索引 2。 示例 2: 输入: nums = [1,2,1,3,5,6,4] 输出: 1 或 5 解释: 你的函数可以返回原创 2022-05-23 22:23:19 · 149 阅读 · 0 评论 -
【算法题-逆转单向链表】
不能使用数据、集合、栈等 使算法复杂度最小 public class AlgorithmTest { public static void main(String[] args) { Node node1 = new Node(1); Node node2 = new Node(2, node1); Node node3 = new Node(3, node2); Node node4 = new Node(4, node3原创 2022-05-20 22:42:46 · 131 阅读 · 0 评论 -
常见排序算法详解
索引冒泡排序选择排序插入排序快速排序 /** * 交换数组内两个元素 */ public static void swap(int[] array, int i, int j) { int temp = array[i]; array[i] = array[j]; array[j] = temp; } 冒泡排序 关键点:两两比较,每一轮外层循环能得出一个最大值放最后,下一轮循环从0到n-2之间的元素对比 publ原创 2022-05-12 00:05:47 · 187 阅读 · 0 评论