随笔分类 -  刷题

Practise and summarize make perfect!
摘要:前言 首先看一下这个题目,是Leetcode的第887题 "鸡蛋掉落" : 你将获得 个鸡蛋,并可以使用一栋从 到 共有 层楼的建筑。 每个蛋的功能都是一样的,如果一个蛋碎了,你就不能再把它掉下去。 你知道存在楼层 ,满足 `0 =20次。 然后再回到Leetcode这道题上来,这道题用动态规划来做 阅读全文
posted @ 2018-11-27 20:36 MrYun 阅读(7618) 评论(0) 推荐(1) 编辑
摘要:前言 博客里有一篇Leetcode题解,想着要同步更新,没有思考过程,至少想把代码贴出来;结果自己很懒,并没有随声更新;但是自己一定会上传题解到github上,所以就写了一段代码将github上leetcode题解的链接爬取下来。 同步题解 这个代码不难,无非就是有正则表达式,所以不多废话,爬取部分 阅读全文
posted @ 2018-11-08 14:43 MrYun 阅读(246) 评论(0) 推荐(0) 编辑
摘要:前言 Leetcode现在弄了一个Weekly Contest,然后题目又会作为新题目;感觉如果现在还不及时刷题的话可能真的赶不上它题目增长的速度了.......题目会在博客和Github上同步更新的,之前也写了一篇博客但是没有保证好与刷题和Github上的同步关系,这次会注意及时更新的...... 阅读全文
posted @ 2018-10-25 20:30 MrYun 编辑
摘要:解法 这道题的测试案例十分的多,每次总以为万无一失的情况下,突然报个bug告诉你有个地方没有考虑到。到最后发现整数溢出的情况,下面的代码不能用了,所以只好换个思路 AC代码: 阅读全文
posted @ 2018-10-08 11:25 MrYun 阅读(98) 评论(0) 推荐(0) 编辑
摘要:题目 给定一个 32 位有符号整数,将整数中的数字进行反转。 示例 1: 输入: 123 输出: 321 示例 2: 输入: 123 输出: 321 示例 3: 输入: 120 输出: 21 注意: 假设我们的环境只能存储 32 位有符号整数,其数值范围是 [−231, 231 − 1]。根据这个假 阅读全文
posted @ 2018-10-08 10:44 MrYun 阅读(111) 评论(0) 推荐(0) 编辑
摘要:题目 给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 示例: 输入: [ 2,1, 3,4, 1,2,1, 5,4], 输出: 6 解释: 连续子数组 [4, 1,2,1] 的和最大,为 6。 进阶: 如果你已经实现复杂度为 O(n) 的解法, 阅读全文
posted @ 2018-10-07 22:09 MrYun 阅读(80) 评论(0) 推荐(0) 编辑
摘要:题目 给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式。 说明: num1 和 num2 的长度小于110。 num1 和 num2 只包含数字 0 9。 num1 和 num2 均不以零开头,除非是数字 0 本身。 不能 阅读全文
posted @ 2018-09-12 00:33 MrYun 阅读(137) 评论(0) 推荐(0) 编辑
摘要:题目 给定长度为 n 的整数数组 nums,其中 n 1,返回输出数组 output ,其中 output[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积。 说明: 请不要使用除法,且在 O(n) 时间复杂度内完成此题。 进阶: 你可以在常数空间复杂度内完成这个题目吗?( 出于对空 阅读全文
posted @ 2018-09-11 20:25 MrYun 阅读(102) 评论(0) 推荐(0) 编辑
摘要:题目 给定一个包括 n 个整数的数组 nums 和 一个目标值 target。找出 nums 中的三个整数,使得它们的和与 target 最接近。返回这三个数的和。假定每组输入只存在唯一答案。 解法 这道题首先将数组nums排好序,然后从第一个数字i开始遍历,由于已经排好序,我们令 .这样加在一起如 阅读全文
posted @ 2018-09-07 23:21 MrYun 阅读(186) 评论(0) 推荐(0) 编辑
摘要:题目 给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为1000。 测试案例 解法 首先是最容易想到的复杂度最高的朴素遍历解法: 然后在介绍一种动态规划的方法: $dp[i,j]= \begin{cases} dp[i+1,j 1]& \text{s[i]=s[j]}\\ 阅读全文
posted @ 2018-09-07 00:23 MrYun 阅读(90) 评论(0) 推荐(0) 编辑
摘要:题目 给定一个链表,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。 解答 这道题真的很巧妙,首先我们有了环形链表1这道题的铺垫,就能方便的判断有无环了,但是题目要求我们找到环形链表的入口处,所以需要找个方法: 如图,X、Y、Z分别是起点、入口处、相遇处,我们通过红色框起来的式子可以 阅读全文
posted @ 2018-09-05 22:40 MrYun 阅读(132) 评论(0) 推荐(0) 编辑
摘要:题目 假设有打乱顺序的一群人站成一个队列。 每个人由一个整数对(h, k)表示,其中h是这个人的身高,k是排在这个人前面且身高大于或等于h的人数。 编写一个算法来重建这个队列。 注意: 总人数少于1100人。 示例 解答 先根据第一个元素进行排序(大的在前面),如果第一个元素相同则根据第二个元素的大 阅读全文
posted @ 2018-09-05 00:26 MrYun 阅读(522) 评论(0) 推荐(0) 编辑
摘要:题目 如果数组是单调递增或单调递减的,那么它是单调的。 如果对于所有 i = A[j],那么数组 A 是单调递减的。 当给定的数组 A 是单调数组时返回 true,否则返回 false。 测试案例: 解法 这道题开始做的时候开始想当然了,以为是单调增;思考过后只需要加上判断条件就可以了: 阅读全文
posted @ 2018-09-04 23:37 MrYun 阅读(189) 评论(0) 推荐(0) 编辑
摘要:题目 现有一个房间,墙上挂有 n 只已经打开的灯泡和 4 个按钮。在进行了 m 次未知操作后,你需要返回这 n 只灯泡可能有多少种不同的状态。 假设这 n 只灯泡被编号为 [1, 2, 3 ..., n],这 4 个按钮的功能如下: 将所有灯泡的状态反转(即开变为关,关变为开) 将编号为偶数的灯泡的 阅读全文
posted @ 2018-08-18 15:41 MrYun 阅读(283) 评论(0) 推荐(0) 编辑
摘要:题目 在二维平面上,有一些点,请找出经过点数最多的那条线。 给定一个点集vectorp和点集的大小n,没有两个点的横坐标相等的情况,请返回一个vector,代表经过点数最多的那条直线的斜率和截距。 解法 自己的想法是两个点计算斜率与截距,然后另写个函数判断剩下的点到这条直线的距离。但是仔细想想复杂度 阅读全文
posted @ 2018-08-01 11:07 MrYun 阅读(494) 评论(0) 推荐(0) 编辑
摘要:题目 在二维平面上,有两个正方形,请找出一条直线,能够将这两个正方形对半分。假定正方形的上下两条边与x轴平行。 给定两个vecotrA和B,分别为两个正方形的四个顶点。请返回一个vector,代表所求的平分直线的斜率和截距,保证斜率存在。 测试样例: [(0,0),(0,1),(1,1),(1,0) 阅读全文
posted @ 2018-08-01 10:48 MrYun 阅读(387) 评论(0) 推荐(0) 编辑
摘要:```C++ class AddSubstitution { public: int calc(int a, int b, int type) { // write code here int result=0; switch(type){ case 1: for(int i=0;i= ... 阅读全文
posted @ 2018-07-26 11:02 MrYun 阅读(106) 评论(0) 推荐(0) 编辑
摘要:题目 解法 水题,判断斜率、判断截距,ok..... 阅读全文
posted @ 2018-07-26 10:10 MrYun 阅读(111) 评论(0) 推荐(0) 编辑
摘要:题目 在n个顶点的多边形上有n只蚂蚁,这些蚂蚁同时开始沿着多边形的边爬行,请求出这些蚂蚁相撞的概率。(这里的相撞是指存在任意两只蚂蚁会相撞) 给定一个int n(3 阅读全文
posted @ 2018-07-26 10:05 MrYun 阅读(185) 评论(0) 推荐(0) 编辑
摘要:题目 请实现一个函数,检查一棵二叉树是否为二叉查找树。 给定树的根结点指针TreeNode root,请返回一个bool,代表该树是否为二叉查找树。 解法 二叉排序树有个特点是,结点通过中序遍历出来的顺序一定是从小到大的,利用这个特点我们就可以解此题。将中序遍历后的数据判断一下就OK: 还可以在中序 阅读全文
posted @ 2018-07-25 20:30 MrYun 阅读(166) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示