会员
周边
众包
新闻
博问
闪存
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
stul
博客园
首页
新随笔
联系
订阅
管理
2019年12月3日
从一道动态规划到卡特兰数
摘要: 从一道动态规划到卡特兰数 LeetCode 96 题目链接:https://leetcode cn.com/problems/unique binary search trees/ 题意:给定一个整数 n,求以 1 ... n 为节点组成的二叉搜索树有多少种? n = 3 时: 动态规划 思路:从
阅读全文
posted @ 2019-12-03 11:03 stul
阅读(327)
评论(0)
推荐(0)
2019年11月5日
LeetCode 24 JAVA
摘要: /** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */ class Solution {
阅读全文
posted @ 2019-11-05 09:33 stul
阅读(144)
评论(0)
推荐(0)
2019年11月4日
链表笔记
摘要: package test; public class ListNode{ int val; ListNode next; public ListNode(int x) { val = x; } public ListNode() {} public static void main(String[]
阅读全文
posted @ 2019-11-04 16:37 stul
阅读(127)
评论(0)
推荐(0)
KMP 算法
摘要: KMP 初学 KMP 算法分为两个步骤。 1 是计算出 next 数组, 2 是根据 next 数组来求得 index 。
阅读全文
posted @ 2019-11-04 09:32 stul
阅读(102)
评论(0)
推荐(0)
2019年10月27日
LeetCode 有效数独 JAVA
摘要: 思路很简单: 分别判断 行 列 box 是否有重复的数字,如果有重复的,返回 false 。 单独拿一行来看。 1. 设置一个 HashMap<value, count> 2. put( value, getOrDefault(value,0) + 1 )。 这里不用 get ( value ),
阅读全文
posted @ 2019-10-27 11:14 stul
阅读(151)
评论(0)
推荐(0)
2019年9月18日
Leetcode 139 单词拆分 JAVA
摘要: 最能想到的是暴力的方法。 动态规划在这里是最有效果的解法。 时间复杂度为 O( n )。 n = 0 的时候, f 为 true。 n = 1 的时候, 只需要判断第一个字母是否在字典里。设置一个结果为 true。 n = 2 的时候, 需要判断 0 - 1 个字母,也就是 f(1) 是否为 tru
阅读全文
posted @ 2019-09-18 18:17 stul
阅读(253)
评论(0)
推荐(0)
Leetcode 845 数组的山脉 JAVA
摘要: 思路: 1.首先找到上山点,用一个变量 j 来开始上山。 2.计算山脉的长度。 长度分为两部分,一部分是上山,一部分是下山。 这题要注意边界。 3.保存山脉的长度 j - i + 1。 为什么要 +1 ?因为我们之前写的上山点是 A[ i ] > A [ i - 1] 。 i - 1 的时候,才是上
阅读全文
posted @ 2019-09-18 15:52 stul
阅读(283)
评论(0)
推荐(0)
leetcode 392 判断子序列 JAVA
摘要: 题目的意思是,判断串 s 是否为串 t 的子序列。 暴力法,时间复杂度为 O(N)。 用法:java 的 indexOf indexOf有四种用法: 1.indexOf(int ch) 在给定字符串中查找字符(ASCII),找到返回字符数组所对应的下标找不到返回-1 2.indexOf(String
阅读全文
posted @ 2019-09-18 14:36 stul
阅读(495)
评论(0)
推荐(0)
leetcode 不同路径
摘要: 这个题目很容易想到用 dp 来做,而且状态转移方程也很简单, 标准方程是 :dp[i][j] = dp[i-1][j] + dp[i][j-1]. 我的方程:dp[i][j] = dp[i-1][j] + dp[i][j-1] + dp[i][j]。 多加了一个。因为我预处理的时候,把所有带 0 的
阅读全文
posted @ 2019-09-18 11:38 stul
阅读(217)
评论(0)
推荐(0)
Leetcode 198 打家劫舍 JAVA
摘要: 这个题目归类于简单的 dp。 n = 1 的时候, dp[ 1 ] = 1. n = 2 的时候, dp[ 2 ] = max( dp[ 1] , nums[ 2 ]) n = 3 的时候, dp [ 3 ] = max( dp[2], nums[3] + dp[1]) 由此可以推出状态转移方程 d
阅读全文
posted @ 2019-09-18 11:34 stul
阅读(170)
评论(0)
推荐(0)
下一页
公告