
数据结构与算法
熟悉各种数据结构与算法
Hi@
这个作者很懒,什么都没留下…
展开
-
9、最小覆盖子串
// 最小覆盖子串 public String minWindow(String s, String t) { // 把t中的字符全部放到map中去 Map<Character, Integer> map = new HashMap<>(); for(char ch: s.toCharArray()) { map.put(ch, map.getOrDefault(ch, 0) + 1); .原创 2022-03-12 22:14:58 · 155 阅读 · 0 评论 -
8、区间合并
public int[][] merge(int[][] intervals) { // 特殊情况处理 if (intervals == null || intervals.length <= 1) { return intervals; } Arrays.sort(intervals, (o1, o2) -> o1[0] - o2[0]); List<int[]> list .原创 2022-03-12 22:13:53 · 143 阅读 · 0 评论 -
7、翻转单链表
public ListNode1 reverse(ListNode1 head) { // 特殊情况处理 if (head == null) { return null; } ListNode1 pre = null; ListNode1 cur = head; while (cur != null) { ListNode1 temp = cur.原创 2022-03-12 22:12:48 · 543 阅读 · 0 评论 -
5、矩阵中的路径
题目: 代码实现: public class Solutionm { // 矩阵中的路径 public boolean exist(char[][] board, String word) { char[] charArr = word.toCharArray(); for (int i = 0; i < board.length; i++) { for (int j = 0; j < board[0].lengt原创 2022-03-12 22:10:39 · 313 阅读 · 0 评论 -
4、用2个栈实现队列
/** * Your CQueue object will be instantiated and called as such: * CQueue obj = new CQueue(); * obj.appendTail(value); * int param_2 = obj.deleteHead(); */ public class CQueue { Stack<Integer> stack1, stack2; public CQueue() { .原创 2022-03-12 22:07:50 · 96 阅读 · 0 评论 -
3、不含重复字符的最长子串
实现方案1: public int longestSubStr(String str) { int max = 0; Deque<Character> deque = new ArrayDeque<>(); for (int i = 0; i < str.length(); i++) { if (!deque.contains(str.charAt(i))) { deq原创 2022-03-12 22:04:23 · 318 阅读 · 0 评论 -
2、合并2个有序链表
class ListNode1 { int val; ListNode1 next; public ListNode1(int value) { this.val = value; } } public class Solution { public ListNode1 mergeTwoList(ListNode1 l1, ListNode1 l2) { ListNode1 preHead = new ListNode1(-1);.原创 2022-03-12 22:01:03 · 80 阅读 · 0 评论 -
1、快速排序 - 优化版
Java public static void main(String[] args) { }原创 2022-03-12 21:56:01 · 153 阅读 · 0 评论