leetcode
.1辰
这个作者很懒,什么都没留下…
展开
-
这几天的打卡
来晚啦有几天题目过于简单就没写博客了,今这题就写一篇吧先来一题今天晚上的820. 单词的压缩编码这题有点骚,首先排除暴力解。用字典树,这里是需要先排序再倒叙插入字典树,具体原因自己看一下就很明白了,正着是无法判断后缀问题的,那如果me在前time在后,那time还得再插一遍,所以我们将长的字符串放在前面,避免这种情况.class Solution { public class...原创 2020-03-31 01:47:09 · 199 阅读 · 0 评论 -
leetcode每日一题 17.16 按摩师
好像很久不写博客了,最近力扣搞了个每日打卡的活动,坚持一下,每天发些简短的小文章吧,就是自己得解法啦。一个有名的按摩师会收到源源不断的预约请求,每个预约都可以选择接或不接。在每次预约服务之间要有休息时间,因此她不能接受相邻的预约。给定一个预约请求序列,替按摩师找到最优的预约集合(总预约时间最长),返回总的分钟数。注意:本题相对原题稍作改动示例 1:输入: [1,2,3,1]输出: 4解...原创 2020-03-24 18:58:47 · 249 阅读 · 0 评论 -
位运算 笔记
这几天撸了一下位运算。写个笔记总结一下。首先运算了解一下。& : 按位与| : 按位或^ : 按位异或~ : 取反<< : 左移 >> : 右移位运算有些非常奇妙,我目前只学了一点点…路还长呢。首先举个例子无限大 大一的时候在c语言平时会用1000000这样写 ,但是是不严谨的。它无法代表整型的最大。之后我学会了用(~(0x1<<...原创 2019-08-27 22:52:17 · 290 阅读 · 1 评论 -
1155. 掷骰子的N种方法
暑假刷题水题居多,多数都没有什么记录的价值,不过还是有题目是有必要写下来供自己以后复习的。先上一题前几天写的题目1155. 掷骰子的N种方法这里有 d 个一样的骰子,每个骰子上都有 f 个面,分别标号为 1, 2, …, f。我们约定:掷骰子的得到总点数为各骰子面朝上的数字的总和。如果需要掷出的总点数为 target,请你计算出有多少种不同的组合情况(所有的组合情况总共有 f^d 种),...原创 2019-08-26 16:08:58 · 2549 阅读 · 0 评论 -
偷懒回来了
最近放假,翻翻七月似乎只更了一篇文章,转眼就到了八月了…实在是松懈了很多啊,最近调理了一下心情,暑假埋头于学英语和计网…数据结构和算法也是放下了好一阵子,然后下定决心卸载了游戏,终于重新开始坚持刷题。前路很难,时常会让我绝望,压的我几乎不能呼吸,但总会有微弱的光指引着我前进。好了不多说废话,这两天在leetcode上随意刷了些题。发现我的动态规划已经差的一塌糊涂今天更一些最近刷的题目。4...原创 2019-08-03 15:05:16 · 160 阅读 · 1 评论 -
Leetcode994.腐烂的橘子
期末考终于全部考完了幸运的是全部过了,还有几个优秀,表示没白费这么久的用心复习。暑假啦,复活一下账号。继续更新算法文章来看一题994. 腐烂的橘子值 0 代表空单元格;值 1 代表新鲜橘子;值 2 代表腐烂的橘子。每分钟,任何与腐烂的橘子(在 4 个正*方向上)相邻的新鲜橘子都会腐烂。返回直到单元格中没有新鲜橘子为止所必须经过的最小分钟数。如果不可能,返回 -1。示例 1:...原创 2019-07-07 15:22:34 · 257 阅读 · 1 评论 -
Leetcode 树专题
写一篇树专题。树,是一种基本的数据结构,它可以用数组和链表两种方法实现。一开始学的是二叉树,而二叉树里面有分有很多类型,二叉查找树,AVL树,红黑树…等等(真是怕了红黑树,有太多种情况,虐人…java中的TreeMap的底层就是红黑树,而mysql数据库的索引就是用b+树…(我还没有学数据库,瑟瑟发抖首先学二叉树的时候会学到遍历方式:前序中序后序遍历,以及层序遍历。大家可以想象,层序遍历...原创 2019-06-09 23:01:41 · 743 阅读 · 1 评论 -
LeetCode 120. 三角形最小路径和 动态规划
今天带来一题经典动态规划问题,LeetCode的120题,就是数塔问题。本来是想从上面往下做的,初始化左右两边即最上面那个点,然后一直有问题,好吧,那就自底向上写吧。老生常谈,先用递归来写,毕竟写法方便不废脑子,要是能过了最好。但是明显效果不好,答案是对的,但超时,不过我还是说一下递归吧,首先设置好边界,达到了最后一行的时候,返回所在值是必须的,以及如果x,或y走出去了,那得想办法收回...原创 2019-06-03 15:17:17 · 227 阅读 · 1 评论 -
Leetcode 115. 不同的子序列 详解
115. 不同的子序列给定一个字符串 S 和一个字符串 T,计算在 S 的子序列中 T 出现的个数。一个字符串的一个子序列是指,通过删除一些(也可以不删除)字符且不干扰剩余字符相对位置所组成的新字符串。(例如,“ACE” 是 “ABCDE” 的一个子序列,而 “AEC” 不是)示例 1:输入: S = “rabbbit”, T = “rabbit”输出: 3解释:如下图所示, 有 3...原创 2019-06-13 16:48:37 · 376 阅读 · 1 评论 -
Leetcode 200. 岛屿数量
好久没写文章的我来水一篇了。今天带来的是Leetcode200 的一题,难度中等。先上题目。给定一个由 ‘1’(陆地)和 ‘0’(水)组成的的二维网格,计算岛屿的数量。一个岛被水包围,并且它是通过水平方向或垂直方向上相邻的陆地连接而成的。你可以假设网格的四个边均被水包围。示例 1:输入:11110110101100000000输出: 1示例 2:输入:110001100...原创 2019-05-31 16:51:39 · 226 阅读 · 1 评论 -
Leetcode 1046 1047
Leetcode 第137 场周赛。小试了前两题,真的不难。第三题开始有些难。今天就先写一二题。1046. 最后一块石头的重量 显示英文描述题目难度 Easy有一堆石头,每块石头的重量都是正整数。每一回合,从中选出两块最重的石头,然后将它们一起粉碎。假设石头的重量分别为 x 和 y,且 x <= y。那么粉碎的可能结果如下:如果 x == y,那么两块石头都会被完全粉碎;如果...原创 2019-06-05 16:04:06 · 411 阅读 · 1 评论 -
dfs排列组合问题
这几天回顾了一下DFS算法。这个算法我觉得挺重要的,思想很基础,是以后学习很多算法的基础吧,简而言之就是递归,才开始接触肯定会觉得,哇,很神奇,不知道怎么做到的,其实只需要多加练习就可以了,当初我开始刷题的时候也是懵了很久。深度优先首先接触来自于学数据结构的图。深度优先是一种遍历搜索的方法。它的内部数据结构用栈实现,其实也可以叫做回溯算法吧。我觉得是一回事。我第一个遇到的难题是 排列组合问题...原创 2019-05-25 00:34:14 · 440 阅读 · 3 评论 -
leetcode 动态规划专题
最近一直在学习动态规划,据参加阿里腾讯面试的大佬透露说笔试题还是比较容易过的,但是百分之五十以上会有动态规划题,由此可见动态规划的重要性,同时动态规划也可以说在算法中是比较难的。我整理了一下这些天刷leetcode的DP题目,并总结了一些心得。做DP题最重要的是,找到状态转移方程,最好是你会暴力递归解,然后再来优化它,也就是用空间换时间!DP题的优势在于去除冗余。有的题目用朴素的暴力解,那是永远...原创 2019-05-09 17:07:35 · 383 阅读 · 0 评论 -
leetcode 31.下一个排列
原题:实现获取下一个排列的函数,算法需要将给定数字序列重新排列成字典序中下一个更大的排列。如果不存在下一个更大的排列,则将数字重新排列成最小的排列(即升序排列)。必须原地修改,只允许使用额外常数空间。以下是一些例子,输入位于左侧列,其相应输出位于右侧列。1,2,3 → 1,3,23,2,1 → 1,2,31,1,5 → 1,5,1第一眼看上去会往排列问题考虑。全排列对于新手来说还是...原创 2019-04-19 23:11:01 · 166 阅读 · 1 评论 -
leetcode 198.打家劫舍
你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你在不触动警报装置的情况下,能够偷窃到的最高金额。示例 1:输入: [1,2,3,1]输出: 4解释: 偷窃 1 号房屋 (金额 = 1) ,然后偷窃 3 号...原创 2019-04-24 16:37:50 · 140 阅读 · 0 评论 -
leetcode135.分发糖果
一道很有意思的题目,难度级别为 困难。题目是这样的的老师想给孩子们分发糖果,有 N 个孩子站成了一条直线,老师会根据每个孩子的表现,预先给他们评分。你需要按照以下要求,帮助老师给这些孩子分发糖果:每个孩子至少分配到 1 个糖果。相邻的孩子中,评分高的孩子必须获得更多的糖果。那么这样下来,老师至少需要准备多少颗糖果呢?示例 1:输入: [1,0,2]输出: 5解释: 你可以分别给...原创 2019-04-13 15:52:52 · 379 阅读 · 1 评论 -
leetcode204. 计数质数
初学c的时候,会有一题基础题,比如求一百以内的素数,判断是否为素数这样的题目我当时用的书是谭浩强的书,可能也有很多初学小白还是在用那样的方法,一一判定范围内的素数,但这样的方法可能时间复杂度可能会比较高,达到o(n^2)。刷了leetcode会学会一种新的方法,不光可用于素数,也可用于其他。称这个方法为线性筛素法。下面具体介绍一下,比方说要求100范围以内的素数。首先我们定义一个数组,大...原创 2019-04-09 22:41:20 · 168 阅读 · 1 评论