11 2022 档案
摘要:package class06; import java.util.ArrayList; import java.util.Arrays; import java.util.Comparator; import java.util.TreeMap; /** * 比较器 * <p> * 自定义比较器,
阅读全文
摘要:package class05; import java.util.Arrays; import java.util.LinkedList; import java.util.Queue; import java.util.Stack; /** * 递归方式的快排和非递归方式的快排 */ publi
阅读全文
摘要:package class05; import java.util.Arrays; /** * 分层,荷兰国旗,快排。 */ public class Code02_PartitionAndQuickSort { public static void swap(int[] arr, int i, i
阅读全文
摘要:package class05; /** * 区间和的个数 * <p> * https://leetcode.com/problems/count-of-range-sum/ * 给你一个整数数组 nums 以及两个整数 lower 和 upper 。求数组中,值位于范围 [lower, upper
阅读全文
摘要:package class04; import java.util.Arrays; /** * 翻转对 * <p> * 在一个数组中, * 对于每个数num,求有多少个后面的数 * 2 依然<num,求总个数 * <p> * https://leetcode-cn.com/problems/reve
阅读全文
摘要:package class04; import java.util.Arrays; /** * 获取数组中逆序对的对数 * <p> * 在一个数组中, * 任何一个前面的数a,和任何一个后面的数b, * 如果(a,b)是降序的,就称为逆序对。 * 返回数组中所有的逆序对的对数。 */ public
阅读全文
摘要:package class04; /** * 数组小和 * 在一个数组中,一个数左边比它小的数的总和,叫数的小和,所有数的小和累加起来叫数组的小和,求数组小和 */ public class Code02_SmallSum { public static int smallSum(int[] arr
阅读全文
摘要:package class04; import java.util.Arrays; /** * 归并排序 */ public class Code01_MergeSort { //递归方式的归并排序 public static void mergeSort(int[] arr) { if (arr
阅读全文
摘要:package class03; import java.util.HashMap; import java.util.HashSet; import java.util.TreeMap; /** * 哈希表和有序表 */ public class HashMapAndSortedMap { pub
阅读全文
摘要:package class03; import java.util.Arrays; /** * 使用递归获取数组最大值 * 只是用这个获取数组最大值的例子,来理解递归。 */ public class Code08_GetMax { public static int process(int[] a
阅读全文
摘要:package class03; import java.util.LinkedList; import java.util.Queue; import java.util.Stack; /** * 用队列结构,实现栈结构 */ public class Code07_TwoQueuesImplem
阅读全文
摘要:package class03; import java.util.Stack; /** * 用栈结构,实现队列结构。 * (特殊问法:用栈来实现图的宽度优先遍历,用队列来实现图的深度优先遍历) */ public class Code06_DoubleStackImplementQueue { /
阅读全文
摘要:package class03; import java.util.Stack; /** * 实现一个特殊的栈,是它除了有基本的push()和pop()方法外,再实现一个返回栈中最小元素的方法getMin(). * (1)push()、pop()、getMin()方法的时间复杂度都是O(1)。 *
阅读全文
摘要:package class03; /** * 使用数组实现队列 * 先进先出 */ public class Code04_RingArray { public class MyQueue { private int pushIndex;//下一个要添加的元素的索引位置。 private int p
阅读全文
摘要:package class03; import java.util.LinkedList; import java.util.Queue; import java.util.Stack; /** * 双链表实现栈,和队列 */ public class Code03_DoubleEndsQueueT
阅读全文
摘要:package class03; import java.util.ArrayList; /** * 把给定的值都删除 * 入参:单链表的头节点head,要删除的数字num。 * 返回值:把值是num的所有节点都删除后的单链表的头节点。 * attention:删除的可能是头节点。删除的可能是连续的
阅读全文
摘要:package class03; import java.util.ArrayList; import java.util.Collections; import java.util.List; /** * 单链表,双链表反转 */ public class Code01_ReverseList {
阅读全文