leetcode
bitcarmanlee
这个作者很懒,什么都没留下…
展开
-
Rotate Array
ProblemRotate an array of n elements to the right by k steps.For example, with n = 7 and k = 3, the array [1,2,3,4,5,6,7] is rotated to [5,6,7,1,2,3,4]. How many different ways do you know to solve thi原创 2016-08-30 16:36:41 · 470 阅读 · 0 评论 -
Binary Tree Right Side View 二叉树右视图
1.问题描述Given a binary tree, imagine yourself standing on the right side of it, return the values of the nodes you can see ordered from top to bottom.For example:Given the following binary tree, 1 ...原创 2019-04-14 21:43:01 · 306 阅读 · 0 评论 -
输出树的所有路径
1.问题描述给一棵二叉树,找出从根节点到叶子节点的所有路径。2.解法找出所有路径这种问题,一般都是dfs+递归的方法解决即可。对于二叉树来说,递归的核心在于不断dfs到树的叶子节点,然后再回溯回去。在递归函数中,当遇到叶子节点,即该节点即无左子树又无右子树的时候,就是一条完整的路径。import java.util.ArrayList;import java.util.List;/...原创 2019-04-14 18:22:39 · 4207 阅读 · 0 评论 -
判断二叉树是否为平衡二叉树
1.问题描述输入一棵二叉树,判断该二叉树是否是平衡二叉树。平衡二叉树:如果一棵树是空树或者它的任意节点的左右两个子树的高度差的绝对值不超过1,那么这棵树为平衡二叉树。2.解法一最简单的想法就是,我们可以求出每个节点左右子树的高度,然后比较左右子树的高度差。如果高度差不超过1,那么就是一棵平衡二叉树。 public static int maxDepth(TreeNode<I...原创 2019-04-14 17:35:13 · 1214 阅读 · 0 评论 -
验证二叉搜索树
1.问题描述给定一个二叉树,判断其是否是一个有效的二叉搜索树(Binary Search Tree)。一个二叉搜索树具有如下特征:节点的左子树只包含小于当前节点的数。节点的右子树只包含大于当前节点的数。所有左子树和右子树自身必须也是二叉搜索树。示例1输入: 2 / \ 1 3输出: true示例2输入: 5 / \ 1 4 ...原创 2019-04-14 17:19:16 · 993 阅读 · 0 评论 -
Path Sum Path Sum II
1.Path SumGiven a binary tree and a sum, determine if the tree has a root-to-leaf path such that adding up all the values along the path equals the given sum.For example:Given the below binary tree...原创 2019-04-16 20:08:36 · 406 阅读 · 0 评论 -
模拟微信发红包算法java实现
发红包现在作为一种人民群众喜闻乐见的业余文化活动,尤其在过年过节的时候发挥了重要的作用。现在我们来模拟微信发红包写个简单的小算法,逻辑比较简单,具体的过程参考注释。public class HongBaoAlgorithm { // 每个红包最小金额 private static final double MINMONEY = 0.01; public static ...原创 2019-04-03 16:12:31 · 3291 阅读 · 0 评论 -
字符串编辑距离
1.问题描述假设给定两个字符串s1,s2,要用最少的操作将字符串s1转换成字符串s2。其中可用的操作包括:1.插入一个字符(Insert a character)2.删除一个字符(Delete a character)3.修改一个字符(Replace a character)2.解题思路该问题是一个典型的动态规划问题。假设dp[i][j]是将字符串 s1[0: i-1] 转变为 s2...原创 2019-04-03 10:18:55 · 1533 阅读 · 0 评论 -
最长公共子序列(LCS) 最长公共子串
1.最长公共子序列什么是子序列:例如对于字符串"saabcd",s,a,a是其一个子序列,s,a,b,d也是一个子序列。子序列不要求连续性。最长公共子序列问题有最优子结构,这个问题可以分解称为更小的问题,因此整个问题就变简单了。同时,子问题的解释可以被重复使用的,也就是说更高级别的子问题会重用更小子问题的解。满足这两点以后,很容易就想到用动态规划来求解。1.假设两个字符串s1, s2。当其...原创 2019-04-02 18:02:04 · 19273 阅读 · 2 评论 -
汉诺塔问题
1.汉诺塔问题描述常见的汉诺塔问题是根据一个传说形成的数学问题:有三根杆子A,B,C,A杆上有 N 个 (N>1) 穿孔圆盘,盘的尺寸由下到上依次变小。要求按下列规则将所有圆盘移至 C 杆:1.每次只能移动一个圆盘;2.大盘不能叠在小盘上面。提示:可将圆盘临时置于 B 杆,也可将从 A 杆移出的圆盘重新移回 A 杆,但都必须遵循上述两条规则。问:如何移?最少要移动多少次?2.问...原创 2019-03-30 15:44:05 · 1084 阅读 · 0 评论 -
Linked List Cycle
Given a linked list, determine if it has a cycle in it.原题是判断一个链表是否有环。我们给加大难度,找出环的起点。判断链表是否有环比较简单。设置两个快慢指针,分别从链表的头节点出发,慢指针每次向后移动一步,快指针移动两步。如果链表存在环,快慢指针一定会在环里相遇。求环入口位置具体逻辑见代码。public class LinkedListCycle原创 2016-09-02 15:28:36 · 626 阅读 · 0 评论 -
Add Two Numbers
You are given two linked lists representing two non-negative numbers. The digits are stored in reverse order and each of their nodes contain a single digit. Add the two numbers and return it as a linke原创 2016-09-01 22:54:22 · 528 阅读 · 0 评论 -
Convert Sorted Array to Binary Search Tree(将有序数组转为二叉搜索树)
1.问题描述Given an array where elements are sorted in ascending order, convert it to a height balanced BST.For this problem, a height-balanced binary tree is defined as a binary tree in which the depth ...原创 2019-04-15 14:34:15 · 402 阅读 · 0 评论