随笔分类 -  数据结构与算法

摘要:冒泡排序: 点击查看代码 public static void bubbleSort(int[] arr) { if (arr == null || arr.length == 1) { return; } // 比较多少次 // 外循环控制的是没排好一个元素下次还有进行多少次排序 for (int 阅读全文
posted @ 2022-03-09 23:39 HaiXPE 阅读(18) 评论(0) 推荐(0) 编辑
摘要:最小覆盖子串: 点击查看代码 // 最小覆盖子串 public String minWindow(String s, String t) { // 把t中的字符全部放到map中去 Map<Character, Integer> map = new HashMap<>(); for(char ch: 阅读全文
posted @ 2022-03-09 23:36 HaiXPE 阅读(23) 评论(0) 推荐(0) 编辑
摘要:区间合并: 代码实现 public int[][] merge(int[][] intervals) { // 特殊情况处理 if (intervals == null || intervals.length <= 1) { return intervals; } Arrays.sort(inter 阅读全文
posted @ 2022-02-21 23:16 HaiXPE 阅读(15) 评论(0) 推荐(0) 编辑
摘要:斐波那契数列: 代码实现: public int fib(int n) { if (n <= 1) return n; // 1、定义状态数组,dp[i]表示的是数字i的斐波那契数 int[] dp = new int[n + 1]; // 2、初始状态 dp[0] = 0; dp[1] = 1; 阅读全文
posted @ 2022-02-19 22:15 HaiXPE 阅读(28) 评论(0) 推荐(0) 编辑
摘要:把数组排成最小的数字: 代码实现 public class Solutionm { // 把数组排成最小的数字 public String minNumber(int[] nums) { List<String> list = new ArrayList<>(); for (int num : nu 阅读全文
posted @ 2022-02-19 22:08 HaiXPE 阅读(15) 评论(0) 推荐(0) 编辑
摘要:矩阵中的路径: 题目: 实现: 代码实现 public class Solutionm { // 矩阵中的路径 public boolean exist(char[][] board, String word) { char[] charArr = word.toCharArray(); for ( 阅读全文
posted @ 2022-02-19 21:45 HaiXPE 阅读(23) 评论(0) 推荐(0) 编辑
摘要:寻找数据流的中位数: 代码实现 /** * 设计一个数据结构: * 得到一个数据流的中位数 */ public class MedianFinder { PriorityQueue<Integer> bigHeap; PriorityQueue<Integer> smallHeap; public 阅读全文
posted @ 2022-02-19 21:19 HaiXPE 阅读(28) 评论(0) 推荐(0) 编辑
摘要:合并链表 代码实现 class ListNode1 { int val; ListNode1 next; public ListNode1(int value) { this.val = value; } } public class Solution { public ListNode1 merg 阅读全文
posted @ 2022-02-19 21:09 HaiXPE 阅读(8) 评论(0) 推荐(0) 编辑
摘要:用2个栈实现队列: 代码实现 /** * Your CQueue object will be instantiated and called as such: * CQueue obj = new CQueue(); * obj.appendTail(value); * int param_2 = 阅读全文
posted @ 2022-02-19 20:56 HaiXPE 阅读(15) 评论(0) 推荐(0) 编辑
摘要:不含重复字符的最长子串: 实现方案1: 代码实现 public int longestSubStr(String str) { int max = 0; Deque<Character> deque = new ArrayDeque<>(); for (int i = 0; i < str.leng 阅读全文
posted @ 2022-02-19 20:49 HaiXPE 阅读(24) 评论(0) 推荐(0) 编辑
摘要:快速排序核心思想 随机选取一个基准值 小于基准值的放在左边 大于基准值的放在右边 重复此过程 代码实现 快排代码 public void quickSort(int[] arr, int L, int R) { if (L < R) { swap(arr, L + (int)(Math.random 阅读全文
posted @ 2022-02-04 23:22 HaiXPE 阅读(18) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示