![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法题目
SaMorri
学习树洞
展开
-
链表合集(Java版本)
1. 反转链表 Leetcode 传送门:反转链表 public static ListNode reverseList(ListNode head) { if (head == null) return head; ListNode g = new ListNode(-1); ListNode p = head; g.next = p; while (p.next != null) { ListNod原创 2021-06-30 16:13:29 · 88 阅读 · 0 评论 -
Java 快速排序 递归版
public class quicksort { //找基准分区 public static int getMiddle(int[] array, int low, int high) { int tmp = array[low]; while (low < high) { while (low < high && array[high] > tmp) { high--;原创 2021-06-30 10:48:10 · 139 阅读 · 0 评论 -
LeetCode刷题笔记——排序(插入排序、归并排序、桶排序)
1. 插入排序(链表) 来源:147题 使用插入排序的方法对链表进行排序,其时间复杂度是 O(n2)O(n^2)O(n2),nnn是链表的长度: class Solution { public ListNode insertionSortList(ListNode head) { if (head == null) { return head; } //创建哑节点 dummyHead //引入哑节点是为了便于在原创 2020-12-02 11:24:28 · 136 阅读 · 0 评论 -
LeetCode刷题笔记——堆(Arrays、PriorityQueue、HashMap)
1. 数组排序Arrays.sort() Arrays中的sort()方法主要是针对各种数据类型(基本数据类型和引用对象类型)的数组元素排序 引用对象类型数组的排序sort()方法要用到接口Comparator<T>,对其排序内部的比较函数compare()进行重写,以便于我们按照我们的排序要求对引用对象数组极性排序,默认是升序排序,但可以自己自定义成降序排序。 2. 优先队列PriorityQueue Java优先队列详解 class KthLargest { //优先队列:每次取出的原创 2020-09-20 12:06:39 · 176 阅读 · 0 评论 -
LeetCode刷题笔记——栈(Stack、ArrayList、LinkedList、StringBuilder)
1. Stack 类 栈是Vector的一个子类,它实现了一个标准的后进先出的栈。 堆栈只定义了默认构造函数,用来创建一个空栈。 堆栈除了包括由Vector定义的所有方法,也定义了自己的一些方法。 2. ArrayList类 get()方法用于检索Arraylist中给定索引处的元素 ...原创 2020-09-20 12:03:36 · 241 阅读 · 0 评论 -
Leetcode/剑指Offer 刷题记录(2)
题目描述 有效的字母异位词: 给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。 示例 1: 输入: s = "anagram", t = "nagaram" 输出: true 示例 2: 输入: s = "rat", t = "car" 输出: false 题解 哈希表法: 为了检查 ttt 是否是 sss 的重新排列,我们可以计算两个字符串中每个字母的出现次数并进行比较。因为 SSS 和 TTT 都只包含 A−ZA-ZA−Z 的字母,所以一个简单的 26 位计数器表原创 2020-08-05 11:39:00 · 112 阅读 · 0 评论 -
Leetcode/剑指Offer 刷题记录(1)
题目描述 给定一个长度为n的数组A,求数组B,B[i] = A[0]A[1]…A[i-1]*A[i+1]…A[n-1]。 要求不能使用除法。 题解 假设: left[i] = A[0]*…A[i-1] right[i] = A[i+1]…A[n-1] 所以: B[i] = left[i] * right[i] 如图: 可知: left[i+1] = A[0]…A[i-1]A[i] right[i+1] = A{i+2]…*A[n-1] 于是, left[i+1] = left[i] * A[i] righ原创 2020-07-25 14:02:47 · 135 阅读 · 0 评论