摘要:
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.LinkedList; import java.util.Queue; /** 阅读全文
摘要:
1、Lambda表达式的基本语法为: (parameters) -> expression 或者 (parameters) -> {statements;} 2、Lambda可以看成是:函数式接口一个具体实现的实例(函数式接口就是只定义一个抽象方法的接口) public static void pr 阅读全文
摘要:
nums = IntStream.of(nums) .boxed() .sorted((o1, o2) -> (Math.abs(o2) - Math.abs(o1))) .mapToInt(Integer::intValue).toArray(); 阅读全文
摘要:
总结一下: 1、数组中的数不重复,最简单的情况 1、最普通的二分查找:leetcode704 /** * 二分查找:nums 中的所有元素是不重复的 */ class Solution { public int search(int[] nums, int target) { int left = 阅读全文
摘要:
// LRU缓存机制 // 使用哈希表+双向链表 // 双向链表的头部是最近使用过的,双向链表的尾部是最久未使用过的 class LRUCache { // 双向链表的节点 class DoublyLinkedNode { int key; int value; DoublyLinkedNode p 阅读全文
摘要:
1、寻找链表的中点 // 找到链表的中点(快慢指针) public ListNode getMidNode(ListNode head) { ListNode slow = head; ListNode fast = head; while (fast.next != null && fast.ne 阅读全文
摘要:
注意一些关于链表的常用操作 1、寻找链表的中间节点(快慢指针) 2、合并两个有序链表(哨兵节点的使用) /** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * L 阅读全文
摘要:
给定一个二叉树,判断它是否是高度平衡的二叉树。 本题中,一棵高度平衡二叉树定义为: 一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1 。 递归的做法: 对于根节点来说,要判断根节点的左右子树是不是平衡的二叉树以及,左右子树的高度差的绝对值是否不超过1 /** * Definition f 阅读全文
摘要:
class Solution { public int longestCommonSubsequence(String text1, String text2) { if (text1.length() == 0 || text2.length() == 0) return 0; int len1 阅读全文
摘要:
链接 class Solution31 { public void nextPermutation(int[] nums) { if (nums == null || nums.length == 0) return; int len = nums.length; // 从后往前找到第一个递增对 i 阅读全文