自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

原创 1. TypeScript 的基本类型

1. TypeScript 的基本类型string, number, boolean数组接口 Interface内联类型特殊类型 按照深入理解typescript 以及typescript再学习 整理 string number boolean 数组 boolean[] 接口 interface 内联类型 特殊类型 string, number, boolean let str: string; let num: number; let bool: boolean; str = '123'; num

2020-07-28 10:52:45 123

原创 Leetcode 98二叉搜索树 和 二叉树的中序遍历

link 验证一个二叉搜索树是否为valid的。 第一反应是递归,但是递归的思想写错了,只判断了每个子树是不是valid的二叉树。 对这道题的递归条件应该为,在左边的都应该比当前小,而不是direct left child 比 当前小。右边同理。 所以需要min 和 max 来做左右的边界,如果当前node 的值 出边界了 则 返回false /** * Definition for a binary tree node. * public class TreeNode { * int val

2020-05-09 16:20:54 91 1

原创 Leetcode 45 跳跃游戏II 和 贪心算法

link 给定一个非负整数数组,你最初位于数组的第一个位置。 数组中的每个元素代表你在该位置可以跳跃的最大长度。 你的目标是使用最少的跳跃次数到达数组的最后一个位置。 示例: 输入: [2,3,1,1,4] 输出: 2 解释: 跳到最后一个位置的最小跳跃数是 2。 从下标为 0 跳到下标为 1 的位置,跳 1 步,然后跳 3 步到达数组的最后一个位置。 假设总是可以跳到最后一个位置。 贪心算法: 每次走最大的,你每次选择的范围就大,每次选择的范围都最大,那最后算出来的答案就是最少的步数 此题需要维护变量:当

2020-05-09 11:55:02 129

原创 Leetcode 221 最大正方形 与 DP

link 同样的DP思想,转移方程是: 如果当前格是‘1’ 则取 “上”, “左”,“左上” 三个dp最小值+1 如果当前格是‘0’ 则为0 一开始尝试的是,如果当前格为0,则继承左,上,和左上三个点的最小值不加1,但是逻辑明显有漏洞。还是需要在dp循环中更新最长边,而不是直接取dp[-1] class Solution { public int maximalSquare(char[][] matrix) { int row = matrix.length; if

2020-05-08 18:44:46 82

原创 Leetcode 54 最大子序列和

link 给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 class Solution { public int maxSubArray(int[] nums) { if (nums.length == 0) return 0; //非必要 int res = nums[0]; int sum = 0; for (int i = 0; i< nums.length; i++)

2020-05-08 18:41:45 67

原创 LeetCode 3. 无重复字符串的最长子串 和 滑动窗口

link 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。 暴力解法就是O^2 的解法,对每个元素遍历前面的元素,并记录不重复的长度。 我们可以利用双指针 来 构建一个Sliding Window (滑动窗口)这个窗口内保留着符合条件的字符串序列,每次这个窗口改变时,我们来判断这个新窗口的长度。 滑动窗口的本质就是一个Queue 队列,左边根据某个条件出,右边根据某个条件进。 这道...

2020-05-07 18:32:13 77

原创 Leetcode 152. 另一个树的子树 和 递归思想

Leetcode 152. 另一个树的子树 和 递归思想 link 判断一棵树是不是另外一棵树的子树,如果是,返回true,否则返回false 这种根据某种特定规则持续“寻找”并且返回“存在”的问题,我们第一个想法就一定要是递归,并且根绝题目描述判断递归的返回值是boolean之间的OR还是AND关系。 因为这道题需要返回“存在”,所以就是一个OR的问题。 判断一个树是不是另外一个树的子树,我们需...

2020-05-07 11:23:01 91

原创 Leetcode 983.最低票价 和 动态规划DP的总结

link 题目太长了,直接复制黏贴力扣的描述吧 在一个火车旅行很受欢迎的国度,你提前一年计划了一些火车旅行。在接下来的一年里,你要旅行的日子将以一个名为 days 的数组给出。每一项是一个从 1 到 365 的整数。 火车票有三种不同的销售方式: 一张为期一天的通行证售价为 costs[0] 美元; 一张为期七天的通行证售价为 costs[1] 美元; 一张为期三十天的通行证售价为 costs[...

2020-05-06 18:22:24 125

原创 Leetcod 21.合并两个有序链表

LeetCode 21 合并两个有序链表 link 五一的第一天,先祝自己节日快乐!(五一玩疯了,五月六号才开始重新打卡) 补一下之前落下的题,5/1号的是一道easy,合并两个有序链表。 输入:1->2->4, 1->3->4 输出:1->1->2->3->4->4 可以从这道题入门双指针和单调队列的思想,简而言之逻辑顺序就是 比较cand...

2020-05-06 17:02:02 129

原创 Leetcode 202 快乐数 与 链表查环

Leetcode 202 快乐数 与 链表查环 link 对一个正整数循环,取各数位上的值的平方的和,这个和的值作为下一次循环的输入。 如果这个和在某一次变成1,返回true (为快乐数) 如果这个和永远不会变成1,返回false (不是快乐数) 看到这道题第一想法就是暴力解,但是明显有更好的方法,并且也没有办法可以判断出这个“和”是不是永远变成1 (while loop 永远不会结束?) 所以,...

2020-04-30 14:50:33 110

原创 Leetcode 1095. 山脉数组查询目标值 二分查找的笔记

Leetcode 1095. 山脉数组查询目标值 二分查找的笔记 Link 题目: 在一个存在峰值的数组中,峰值左边至少存在一个比峰值小的数,峰值右边至少存在一个比峰值大的数。寻找出target value的index值,如果存在多个,返回index最小的那个,如果不存在,返回-1。 看到题之后的第一反应是和 33.搜索螺旋排序数组一样的方法, 但是此题限制了对原始数组的访问次数,所以很多边界判...

2020-04-29 20:30:40 196

原创 Leetcode 全排列 和 回溯算法的笔记

Leetcode46 全排列 回溯算法 link 输入: [1,2,3] 输出: [ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1] ] 此题使用的 树形回溯算法 Backtracking 就是在 深度优先DFS 的基础上加上 状态恢复 ,来保证在当前层的状态不变,进而保证在本层Loop时对其他路径没有影响。 来源:力扣(LeetCode...

2020-04-26 17:02:36 73

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除