![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
刷题
文章平均质量分 84
刷题
BB大王
这个作者很懒,什么都没留下…
展开
-
Leetcode 热题100
这里写目录标题1.两数之和思路:减法2. 两数相加思路:进位3. 无重复字符的最长子串思路:字典,更新指针4. 寻找两个有序数组的中位数思路:分块,考虑临界值5.最长回文子串思路:马拉车算法10.正则表达式匹配思路1:回溯思路二:动态规划11. 盛最多水的容器思路:双指针15. 三数之和思路:双指针17. 电话号码的字母组合思路:DFS(回溯)19. 删除链表的倒数第N个节点思路:双指针20. 有效的括号思路:栈21. 合并两个有序链表思路1:递归思路2:迭代22. 括号生成思路:DFS(回溯)23. 合并原创 2022-01-20 12:36:17 · 694 阅读 · 1 评论 -
【刷题】约瑟夫环
约瑟夫问题据说著名犹太历史学家 Josephus有过以下的故事:在罗马人占领乔塔帕特后,39 个犹太人与Josephus及他的朋友躲到一个洞中,39个犹太人决定宁愿死也不要被敌人抓到,于是决定了一个自杀方式,41个人排成一个圆圈,由第1个人开始报数,每报数到第3人该人就必须自杀,然后再由下一个重新报数,直到所有人都自杀身亡为止。问题:一开始要站在什么地方才能避免被处决?Josephus将朋...原创 2020-02-17 14:45:19 · 1205 阅读 · 0 评论 -
【刷题】数组中的逆序对——归并排序法
case通过率为50.00%(超时引起),如何优化呢?# -*- coding:utf-8 -*-class Solution: def __init__(self): self.count = 0 def InversePairs(self, data): # write code here self.merge_sort(da...原创 2020-02-15 12:41:58 · 125 阅读 · 0 评论 -
【刷题】编辑距离
编辑距离编辑距离,是指将一个字符串转变为另一个字符串所需要的最少编辑次数。许可的编辑操作包括3种:插入——将一个字符替换成另一个字符删除——插入一个字符替换——删除一个字符例如: str1 = ‘kitten’ ,str2 = ‘sitting’ str1转换为str2可进行如下操作: 将k替换为s,kitten → sitten 将e替换为i,sitten...原创 2019-08-15 12:12:31 · 430 阅读 · 0 评论 -
【刷题】LCS算法-最长公共子序列
求两个字符串的公共最长序列。例如,输入:‘acbde’ , ‘cfebd’输出:3 (最长的公共子序列为’cbd’)动态规划:i == 0 or j == 0, dp[i][j] = 0A[i] == B[j], dp[i][j] = dp[i−1][j−1]+1A[i] != B[j], dp[i][j] = max(dp[i−1][j], dp[i][j−1])clas...原创 2019-09-06 17:22:25 · 153 阅读 · 0 评论 -
【刷题】荷兰国旗问题
Leetcode75.颜色分类https://leetcode-cn.com/problems/sort-colors/solution/yan-se-fen-lei-by-leetcode/class Solution: def sortColors(self, nums: List[int]) -> None: """ Do not retur...原创 2020-03-04 21:10:09 · 139 阅读 · 0 评论 -
【刷题】DFS和BFS算法
先举个栗子一颗二叉树如下,搜索所有路径DFS的做法是:每条路走到头(叶节点),然后再回头寻找其他路。上图为例,1出发到2,到4,到8,走到头了,退回4,退回2,到5,退回2,退回1,到3,到6,…,知道走完到7。BFS的做法是:自上而下,一层一层的走。上图为例,1出发,可以到2和3两个位置,存储起来[2,3],2可以到4和5,3可以到6和7,存储为[4,5,6,7],继续走,存储[8,...原创 2019-08-14 18:05:01 · 640 阅读 · 0 评论 -
【刷题】最长回文子串——manacher(马拉车)算法
给定字符串s,找到s中最长的回文子串。回文串,指的是无论从左往右读还是从右往左读,结果都是一样的。比如 “dabcbacf” 的最长回文子串为 “abcba”。manacher算法主要思路:充分利用前面已经求出的回文信息;动态规划:首先需要构建新的字符串,以消除奇回文串和偶回文串的差别,在每个字符间插入一个特殊符号(例如“#”),然后再开始和末尾各插入一个其他特殊字符(例如“$...原创 2019-09-09 20:29:04 · 117 阅读 · 0 评论 -
随机输出巨大文件(不能放入内存)的任意k行
给定一个巨大的文本文件,写一个程序随机输出文件任意k行(k不大,k行能放入内存),要求每一行出现概率相等,请给出核心算法、算法复杂度以及简要的算法原理说明。https://www.nowcoder.com/questionTerminal/7de004123c9f4d889d1d26a8b0f356d4?toCommentId=21825...原创 2019-08-27 18:35:54 · 125 阅读 · 0 评论 -
牛客网笔试sys.stdin参考
牛客网笔试sys.stdin参考测试方法创建.txt文件,输入测试内容;将sys.stdin()重定向至改文件;例如‘111.txt’31 2 34 5 67 8 9import syssys.stdin = open('111.txt')k = int(sys.stdin.readline().strip())data = []for i in range(k...原创 2019-08-22 18:40:34 · 831 阅读 · 0 评论 -
笔试刷题回顾
1.(Leetcode665)非递减数列:给定一个长度为 n 的整数数组,你的任务是判断在最多改变 1 个元素的情况下,该数组能否变成一个非递减数列。我们是这样定义一个非递减数列的: 对于数组中所有的 i (1 <= i < n),满足 array[i] <= array[i + 1]思路:判断是修改当前数字 nums[i]还是下一个数字nums[i+1] 。如果nums[i+1] >= nums[i-1],修改当前数字nums[i] = nums[i+1];如果nums[原创 2022-01-20 12:32:52 · 407 阅读 · 0 评论