随笔分类 -  每周算法练习

上一页 1 2 3 4 5 6 ··· 11 下一页
摘要:"题目" 题意:给你一个数组表示一个街道,每个数字表示一个房子里有多少钱,你可以打劫获得这些钱,但是不能同时打劫相邻的房子,问你最多可以得到多少钱, 题解:动态规划,DP[i][0]表示第0个房子没有打劫,DP[i][1] 表示第1个房子打劫了。 阅读全文
posted @ 2020-02-11 17:35 Shendu.CC 阅读(156) 评论(0) 推荐(0)
摘要:"https://leetcode.com/problems/shortest palindrome/" 好题目啊! 题目: Given a string s, you are allowed to convert it to a palindrome by adding characters in 阅读全文
posted @ 2020-02-10 19:08 Shendu.CC 阅读(140) 评论(0) 推荐(0)
摘要:"题目" 不想多说 阅读全文
posted @ 2020-02-09 19:26 Shendu.CC 阅读(321) 评论(0) 推荐(0)
摘要:"题目" 题意:给你一个字母组成的矩阵,和一些单词,问你在矩阵中能否找到这些单词。 题解:这道题目的数据范围大概是,单词很多!矩阵倒不大。这么多单词,一个一个拿来暴搜肯定超时,把他们变成hash 效率也很低。最好的办法,把这些单词组成一个字典树(前缀树),然后在矩阵里DFS时同时从树上匹配单词。 阅读全文
posted @ 2020-02-05 18:39 Shendu.CC 阅读(81) 评论(0) 推荐(0)
摘要:"题目" 题意:判断一个DNA序列中,长度为10的子序列,重复次数超过1次的序列! 题解:用一个map 就能搞定了,但是出于时间效率的优化,我们可以用位运算和数组代替map,首先只有四个字母,就可以用00,01,10,11 四个二进制表示,长度为10的序列,可以用长度为20的二进制序列表示。这样每中 阅读全文
posted @ 2020-01-27 20:13 Shendu.CC 阅读(143) 评论(0) 推荐(0)
摘要:"题目" 题意:给你一个数组,让你把数组里的元素组合起来,组合成的新数字最大 题解:把数字给排个序,但是排序的标准是啥呢?两个数字孰大孰小呢?判断标准就是两个数字分别前后组合,得出的数字哪个大,则前面的那个数字就大。 一开始我的思路错了,根据数字每个位上的数字判断,这样反而是变得更加复杂了! 阅读全文
posted @ 2020-01-27 20:10 Shendu.CC 阅读(122) 评论(0) 推荐(0)
摘要:"题目" 题意:每个格子里都有数字,负数代表你会少血,正数代表你会加血,当你的血量为0的时候就死了,从左上角出发,到右下角,问你一开始最少的血量是多少。整个过程中不能有血量为0的情况。 题解:只能走下或者走右。这种有向无环图,八成都是动态规划。但是如果从左上角开始规划,有很多情况要考虑。从右下角开始 阅读全文
posted @ 2020-01-27 15:31 Shendu.CC 阅读(113) 评论(0) 推荐(0)
摘要:"题目" 题意:实现一个BST的Next()函数,输出BST里的从小到大的数字。 题解:题目说Next()的时间效率O(1),空间效率O(h),h为树的高度。我们维护一个栈,把前序遍历的左子树的结果存进去。 每次Next取出栈顶元素的时候,再遍历栈顶元素的右子树的前序遍历的左子树部分。 阅读全文
posted @ 2020-01-27 15:25 Shendu.CC 阅读(85) 评论(0) 推荐(0)
摘要:"题目" 题意:问你一个数的阶乘,末尾有多少0 题解:一个数的阶乘结果的末尾的0,根据分解质因数,只能是2 5得到的,所以把这个数的阶乘分解质因数,看有多少个2 5,2显然是比5多的,所以数一数有多少个5就可以了。 比如24的阶乘里分解质因数有几个五呢?5 里有一个5,10,15,20里各有一个,一 阅读全文
posted @ 2020-01-27 15:20 Shendu.CC 阅读(113) 评论(0) 推荐(0)
摘要:"题目" 阅读全文
posted @ 2020-01-27 15:13 Shendu.CC 阅读(125) 评论(0) 推荐(0)
摘要:"题目" 题意:找出数组里重复最多的元素,重复最多是指数量大于n/2的, 题解:题目说一定存在答案,不用额外的内存空间,怎么做呢?其实很简单,重复最多的元素的数量大于剩下所有元素数量之和,维护一个数字count,代表数量,维护一个变量a代表重复最多的元素。遇到相同的a,count++,遇到不同的co 阅读全文
posted @ 2020-01-27 15:12 Shendu.CC 阅读(96) 评论(0) 推荐(0)
摘要:"题目" 阅读全文
posted @ 2020-01-27 15:02 Shendu.CC 阅读(90) 评论(0) 推荐(0)
摘要:"题目" 题意:找出数组里两个数字之和为指定数字的两个下标。 题解:双指针 阅读全文
posted @ 2020-01-27 15:01 Shendu.CC 阅读(95) 评论(0) 推荐(0)
摘要:"题目" 题意:给出一个分数的分子和分母,给出这个分数的小数形式的字符串模式。循环的部分用( 括上。 题解:模拟除法,判断循环体。 阅读全文
posted @ 2020-01-27 14:57 Shendu.CC 阅读(103) 评论(0) 推荐(0)
摘要:"题目" 题意:比较两个版本的大小 题解: 阅读全文
posted @ 2020-01-22 18:49 Shendu.CC 阅读(83) 评论(0) 推荐(0)
摘要:"题目" 题意:就是给你一个数组,让你输出排好序后,相邻元素差值最大的那个差值。 题解:首先,当然我们可以用快排,排完序之后,遍历一遍数组,就能得到答案了。但是快速排序的效率是O(n logn),不是题目要求的线性效率,也就是O(n)的效率。 那么诸多排序算法中,也是由线性效率的排序算法,当然这些算 阅读全文
posted @ 2020-01-22 18:47 Shendu.CC 阅读(103) 评论(0) 推荐(0)
摘要:"题目" 题意:一个数组,相邻的元素不相等,让你找出这个数组的驼峰,驼峰就是这个元素比相邻的元素都大。 题解:二分查找,如果你发现某个元素比左边相邻的元素小,那么左边一定存在驼峰,同理,右边也是。通过这个规律就可以二分了。 阅读全文
posted @ 2020-01-21 13:39 Shendu.CC 阅读(87) 评论(0) 推荐(0)
摘要:"题目" 题意:寻找两个链表重合部分的起始点。 题解:计算两个链表的长度,从到最后一个点距离相等的点,开始比较就可以了。 阅读全文
posted @ 2020-01-21 13:32 Shendu.CC 阅读(83) 评论(0) 推荐(0)
摘要:"题目" 阅读全文
posted @ 2020-01-16 15:43 Shendu.CC 阅读(77) 评论(0) 推荐(0)
摘要:"题目" 题意:判断一个二叉树是否为 二叉搜索树BST 题解:所有思路都是去找二叉树中不满足BST性质的节点,找到了,就不符合,找不到就符合。那么怎么去找呢?我提供两种思想。 第一个是,BST的中序遍历是一个有序数组,所以把BST 中序遍历的结果拿出来,看看是不是有序的就可以了。很简单。那如果不让你 阅读全文
posted @ 2020-01-16 15:36 Shendu.CC 阅读(116) 评论(0) 推荐(0)

上一页 1 2 3 4 5 6 ··· 11 下一页