2020年10月23日
摘要: 153. 寻找旋转排序数组中的最小值 难度中等277收藏分享切换为英文接收动态反馈 假设按照升序排序的数组在预先未知的某个点上进行了旋转。 ( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] )。 请找出其中最小的元素。 你可以假设数组中不存在重复元素。 示例 阅读全文
posted @ 2020-10-23 10:37 lkjhgfdsa123 阅读(108) 评论(0) 推荐(0) 编辑
  2020年10月12日
摘要: 给你一棵所有节点为非负值的二叉搜索树,请你计算树中任意两节点的差的绝对值的最小值。 示例: 输入: 1 \ 3 / 2 输出:1 解释:最小绝对差为 1,其中 2 和 1 的差的绝对值为 1(或者 2 和 3)。 思路:利用BST中序遍历的性质:中序遍历得到的是一个递增的序列,因此只要求相邻节点的最 阅读全文
posted @ 2020-10-12 17:26 lkjhgfdsa123 阅读(136) 评论(0) 推荐(0) 编辑
摘要: 题目描述 给定一个二叉树,返回它的中序 遍历。 示例: 输入: [1,null,2,3] 1 \ 2 / 3 输出: [1,3,2] 进阶: 递归算法很简单,你可以通过迭代算法完成吗? public List<Integer> inorderTraversal(TreeNode root) { Li 阅读全文
posted @ 2020-10-12 17:03 lkjhgfdsa123 阅读(111) 评论(0) 推荐(0) 编辑
  2020年10月9日
摘要: 题目描述: 电话号码的字母组合难度中等952给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。 给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。 示例: 输入:"23"输出:["ad", "ae", "af", "bd", "be", "bf", "cd", " 阅读全文
posted @ 2020-10-09 17:45 lkjhgfdsa123 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 26. 删除排序数组中的重复项难度简单1665收藏分享切换为英文接收动态反馈给定一个排序数组,你需要在 原地 删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。 不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。 示例 1: 给定数组 阅读全文
posted @ 2020-10-09 16:29 lkjhgfdsa123 阅读(130) 评论(0) 推荐(0) 编辑
摘要: 描述: 141. 环形链表难度简单784给定一个链表,判断链表中是否有环。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环 阅读全文
posted @ 2020-10-09 09:48 lkjhgfdsa123 阅读(101) 评论(0) 推荐(0) 编辑
  2020年9月22日
摘要: 掌握数组的大小关系可以加快逆序对 1小于左边所有的元素,因此逆序对的个数+4 利用了数组的部分有序性,而不用一个一个去比较 2和1构成逆序对,但是已经计算过了 将4放到辅助数组中,4和左侧还未放到辅助数组的元素构成逆序对 左侧数组只有一个元素7,因此逆序对个数+1 结束 总结:将第二个数组归并到辅助 阅读全文
posted @ 2020-09-22 21:49 lkjhgfdsa123 阅读(298) 评论(0) 推荐(0) 编辑
  2020年8月26日
摘要: public static void inOrder2(Node node) { Stack<Node> stack = new Stack<>(); Node p = node; while (p != null || !stack.isEmpty()) { if (p != null) { st 阅读全文
posted @ 2020-08-26 22:35 lkjhgfdsa123 阅读(463) 评论(0) 推荐(0) 编辑
  2020年7月29日
摘要: c,c++ 自己管理内存,释放内存 java有自己的GC垃圾回收机制,不用手工管理,缺点是会有stw Java中Stop-The-World机制简称STW,是在执行垃圾收集算法时,Java应用程序的其他所有线程都被挂起(除了垃圾收集帮助器之外)。Java中一种全局暂停现象,全局停顿,所有Java代码 阅读全文
posted @ 2020-07-29 22:09 lkjhgfdsa123 阅读(177) 评论(0) 推荐(0) 编辑
  2020年7月12日
摘要: java多线程之间的通信,及使用多种方式实现生产者消费者模式 实现需求:两个线程交替打印1,0,打印10轮 java多线程口诀: 高内聚,低耦合 线程操作资源类 判断干活通知 防止虚假唤醒 方式一:使用synchronized和Object的wait和notifyAll方法 wait:使当前线程阻塞 阅读全文
posted @ 2020-07-12 21:46 lkjhgfdsa123 阅读(220) 评论(0) 推荐(0) 编辑