
leetcode
Viscu
勤能补拙。
展开
-
leetcode刷题记录四
1.convert-sorted-list-to-binary-search-treeGiven a singly linked list where elements are sorted in ascending order, convert it to a height balanced BST. 用一颗有序的数组建立一个二叉树,利用快慢指针找中点,左边就是他的左子树,右边就是他的右子...原创 2018-08-26 15:20:33 · 275 阅读 · 0 评论 -
leetcode 173. 二叉搜索树迭代器
实现一个二叉搜索树迭代器。你将使用二叉搜索树的根节点初始化迭代器。 调用 next() 将返回二叉搜索树中的下一个最小的数。 注意: next() 和hasNext() 操作的时间复杂度是O(1),并使用 O(h) 内存,其中 h 是树的高度。中序遍历一下存下每个点即可。/** * Definition for binary tree * public clas...原创 2018-09-15 14:51:26 · 533 阅读 · 0 评论 -
leetcode 669. 修剪二叉搜索树 数据结构
给定一个二叉搜索树,同时给定最小边界L 和最大边界 R。通过修剪二叉搜索树,使得所有节点的值在[L, R]中 (R>=L) 。你可能需要改变树的根节点,所以结果应当返回修剪好的二叉搜索树的新的根节点。//递归:class Solution { public TreeNode trimBST(TreeNode root, int L, int R) { r...原创 2018-09-15 02:10:40 · 207 阅读 · 0 评论 -
leetcode 145. 二叉树的后序遍历 迭代和递归
给定一个二叉树,返回它的 后序 遍历。这种题算经典题了,递归很好写,那么迭代呢,其实也很好写。public class _145 { //递归版本 左右根顺序 public List<Integer> postorderTraversal(TreeNode root) { List<Integer> ans=new ...原创 2018-09-15 00:47:47 · 308 阅读 · 0 评论 -
leetcode 684. 冗余连接 并查集
在本问题中, 树指的是一个连通且无环的无向图。输入一个图,该图由一个有着N个节点 (节点值不重复1, 2, …, N) 的树及一条附加的边构成。附加的边的两个顶点包含在1到N中间,这条附加的边不属于树中已存在的边。结果图是一个以边组成的二维数组。每一个边的元素是一对[u, v] ,满足 u &lt; v,表示连接顶点u 和v的无向图的边。返回一条可以删去的边,使得结果图是一个有着N个节点的...原创 2018-09-20 02:47:46 · 566 阅读 · 0 评论 -
leetcode 685. 冗余连接 II dfs+链式前向星 或者 并查集
在本问题中,有根树指满足以下条件的有向图。该树只有一个根节点,所有其他节点都是该根节点的后继。每一个节点只有一个父节点,除了根节点没有父节点。输入一个有向图,该图由一个有着N个节点 (节点值不重复1, 2, …, N) 的树及一条附加的边构成。附加的边的两个顶点包含在1到N中间,这条附加的边不属于树中已存在的边。结果图是一个以边组成的二维数组。 每一个边 的元素是一对 [u, v],用以表示...原创 2018-09-20 02:22:40 · 438 阅读 · 0 评论 -
leetcode 15. 三数之和
给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?找出所有满足条件且不重复的三元组。 注意:答案中不可以包含重复的三元组。 例如, 给定数组 nums = [-1, 0, 1, 2, -1, -4], 满足要求的三元组集合为: [ [-1, 0, 1], [-1, -1,...原创 2018-09-06 22:05:31 · 206 阅读 · 0 评论 -
leetcode 403. 青蛙过河
一只青蛙想要过河。 假定河流被等分为 x 个单元格,并且在每一个单元格内都有可能放有一石子(也有可能没有)。 青蛙可以跳上石头,但是不可以跳入水中。 给定石子的位置列表(用单元格序号升序表示), 请判定青蛙能否成功过河(即能否在最后一步跳至最后一个石子上)。 开始时, 青蛙默认已站在第一个石子上,并可以假定它第一步只能跳跃一个单位(即只能从单元格1跳至单元格2)。 如果青蛙上一步...原创 2018-09-06 21:41:43 · 525 阅读 · 0 评论 -
leetcode 773. 滑动谜题 BFS
在一个 2 x 3 的板上(board)有 5 块砖瓦,用数字 1~5 来表示, 以及一块空缺用 0 来表示. 一次移动定义为选择 0 与一个相邻的数字(上下左右)进行交换. 最终当板 board 的结果是 [[1,2,3],[4,5,0]] 谜板被解开。 给出一个谜板的初始状态,返回最少可以通过多少次移动解开谜板,如果不能解开谜板,则返回 -1 。思路:...一...原创 2018-09-07 21:39:09 · 1761 阅读 · 0 评论 -
leetcode 85. 最大矩形
给定一个仅包含 0 和 1 的二维二进制矩阵,找出只包含 1 的最大矩形,并返回其面积。 示例: 输入: [ [“1”,”0”,”1”,”0”,”0”], [“1”,”0”,”1”,”1”,”1”], [“1”,”1”,”1”,”1”,”1”], [“1”,”0”,”0”,”1”,”0”] ] 输出: 6对矩形每行利...原创 2018-09-01 15:04:35 · 444 阅读 · 0 评论 -
leetcode刷题记录五
1.median-of-two-sorted-arraysThere are two sorted arrays A and B of size m and n respectively. Find the median of the two sorted arrays. The overall run time complexity should be O(log (m+n)).clas...原创 2018-08-28 21:09:09 · 235 阅读 · 0 评论 -
leetCode刷题记录二
1、gas-stationThere are N gas stations along a circular route, where the amount of gas at station i isgas[i]. You have a car with an unlimited gas tank and it costscost[i]of gas to travel from stati...原创 2018-08-21 14:17:38 · 424 阅读 · 0 评论 -
leetcode刷题记录三
1.binary-tree-inorder-traversalGiven a binary tree, return the inorder traversal of its nodes’ values. For example: Given binary tree{1,#,2,3},1 \ 2 / 3return[1,3,2]. Note...原创 2018-08-23 16:34:38 · 260 阅读 · 0 评论 -
leetcode 刷题系列(一)
给定一个二叉搜索树,编写一个函数 kthSmallest 来查找其中第 k 个最小的元素。说明:你可以假设 k 总是有效的,1 ≤ k ≤ 二叉搜索树元素个数。示例 1:输入: root = [3,1,4,null,2], k = 1 3 / \ 1 4 \ 2输出: 1示例 2:输入: root = [5,3,6,2,4,null,null,1], k ...原创 2018-08-30 19:46:41 · 630 阅读 · 0 评论 -
146. LRU缓存机制 HashMap+双向链表实现O(1)复杂度
运用你所掌握的数据结构,设计和实现一个 LRU (最近最少使用) 缓存机制。它应该支持以下操作: 获取数据 get 和 写入数据 put 。获取数据 get(key) - 如果密钥 (key) 存在于缓存中,则获取密钥的值(总是正数),否则返回 -1。写入数据 put(key, value) - 如果密钥不存在,则写入其数据值。当缓存容量达到上限时,它应该在写入新数据之前删除最近最少使用的数...原创 2018-11-25 22:53:45 · 802 阅读 · 0 评论