首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

剑指Offer系列刷题笔记汇总

刷题平台:牛客网 书籍下载:共享资源 刷题刷比较慢,花费了两个多月,终于将所有题目过了一遍,牛客网一共有66道题,这次刷题主要使用C++,接下来会使用Python重新过一遍,并对这些写过文章进行更新...二叉树中和为某一值路径 剑指Offer(三十八):二叉树深度 剑指Offer(三十九):平衡二叉树 剑指Offer(五十七):二叉树下一个结点 剑指Offer(五十八):对称二叉树 剑指Offer...(五十九):按之字顺序打印二叉树 剑指Offer(六十):把二叉树打印成多行 剑指Offer(六十一):序列化二叉树 二叉搜索树(3道): 剑指Offer(二十三):二叉搜索后序遍历序列 剑指Offer...字符串(8道): 剑指Offer(二):替换空格 剑指Offer(二十七):字符串排列 剑指Offer(三十四):第一个只出现一次字符 剑指Offer(四十三):左旋转字符串 剑指Offer(四十四...(十二):数值整数次方 剑指Offer(十九):顺时针打印矩阵 剑指Offer(二十九):最小K个数 剑指Offer(三十一):整数中1次数(从1到n整数中1次数) 剑指Offer(三十三

70620

嘀~正则表达式快速上手指南(上篇)

pattern表示我们想要搜索字符串,string 表示我们想要搜索字符串。主字符串可以由多行组成。 .* 是字符串模式简写。我们很快就会解释它细节。...当我们寻找重复模式时,称为贪婪搜索。否则,我们称之为非贪婪搜索或懒惰搜索。 让我们用* 构建一个对 . 贪婪搜索。 ? 因为 * 匹配其左侧 0 个或多个模式类实例,而 .....* 获取行中直到下一个转义引号所有字符。获取引号内名字。每个名字都在方括号内打印出,因为re.findall 以列表形式返回匹配内容。如果我们需要获取电子邮件地址呢? ? 看起来很简单不是嘛?...只是匹配模式有些许不同,让我们逐一攻破。 以下是如何匹配电子邮件地址前面部分: ? 电子邮件总是包含@符号,让我们从它开始。电子邮件@符号之前部分可能包含字母数字字符,\w 就派上用场。...然而,我们需要正则表达式跟pandas Python数据分析库结合。Pandas 库中有一个很有用把数据组织成整齐表格对象,即 DataFrame 对象,也可以从不同角度理解它。

1.6K20
您找到你想要的搜索结果了吗?
是的
没有找到

基于Python语料库数据处理(六)

请完成下列检索匹配任务:①如何检索文本中所有以-ing结尾单词?②如何检索文本中所有以th-开头单词?③如何检索文本中所有数字或者含有数字字符串?...④如何检索诸如 co-author这样含连字符单词?⑤如何检索所有含两个字符字符串?⑥文本中每行开头都含有诸如“A0 117”字符串如何搜索出文本中所有类似的字符串?...关于问题③,使用\d+可以搜索所有数字;\w*\d+\w*可以搜索所有数字或者同时含字母和数字字符串,如A01、17、308、114等。需要注意是\w*\d+\w*不能搜索“308-14”。...两次搜索结果不同原因在于,“+”表示一个或多个,在第一次匹配到字符串最后一个字符“>”后,搜索过程即完成;而“*”表示零个或多个,在第一次匹配到字符串最后一个字符“>”后,再进行第二次检索,检索结果为零个字符...是“懒惰”,所以搜索方式是,先搜索文本中第一个“”,最后匹配文本第一个“”之间所有内容。

58010

拿起Python,防御特朗普Twitter!

所以,第10行和第11行被执行了很多次,每一次都有不同w值。你应该能够说第10行和第11行是做什么。 将此代码保存为first.py。...最后,运行Python解释器,运行Python(如果是在Windows上,则运行py),并在解释器中输入以下命令: ? 应该会弹出一个窗口。...换句话说,我们需要将字典保存在单独文件中,然后将其加载到程序中。 文件有不同格式,这说明数据是如何存储在文件中。...1、当“Make America”作为前两个词出现时,人工智能几乎总是预测“再次伟大”作为下一个词。 2、当提供“North”时,下一个单词几乎总是“Korea”,后面通常是一些否定句。...我们没有在tweet出现时进行分析,而是决定将每条tweet插入到一个BigQuery表中,然后找出如何分析它。

5.2K30

《剑指 offer》刷题记录之:回溯法

回溯法可以看成蛮力法升级版,它从解决问题每一步所有可能选项里系统地选择一个可行解决方案。回溯法非常适合由「多个步骤」组成问题,并且每个步骤都有多个选项。...通常回溯法适合通过「递归」实现,当我们到达某一个节点时,尝试所有可能选项并在满足条件前提下递归地抵达下一个节点。...在本题中,递推终止条件是索引越界「或」当前矩阵元素与目标字符不同(包括当前元素已访问)。...在具体实现时,我们通过向递归参数中传递当前目标字符串「索引」 k 来帮助判断,此外,我们会在当前递归中将已访问元素置为无关字符(保证与目标字符不等),以防止再次访问。...不同之处在于,本题中不涉及对当前状态撤回,只需要将满足条件格子进行记录,防止再次访问即可。

55420

笨办法学 Python3 第五版(预览)(一)

我不知道如何在我国键盘上输入 # 字符。我该怎么做? 一些国家使用 ALT 键和其他键组合来打印与其语言不同字符。你需要上网搜索如何输入它。 为什么我要倒着读代码?...字符串是你如何制作程序可能提供给人类东西。你打印字符串,将字符串保存到文件中,将字符串发送到 Web 服务器等等。 字符串非常方便,所以在这个练习中,你将学习如何制作包含嵌入变量字符串。...如果你不是真的理解发生了什么,也没关系,因为本书其余部分会慢慢澄清这一点。此时,请尝试研究一下这个,并看看发生了什么,然后继续下一个练习。 学习任务 重复 练习 7 中学习任务。...很多时候搜索python3 THING”会找到关于 Python 中那个 THING 做什么答案。尝试搜索python3 open”。...这个文件中有太多重复。使用字符串、格式和转义来用一个target.write()命令打印出line1、line2和line3,而不是六个命令。

17210

Python 元组完全指南1

mytuple = ("apple", "banana", "cherry")元组是 Python 4 种内置数据类型之一,用于存储数据集合,另外还有列表、集合和字典,它们都具有不同特性和用途。...:示例,包含字符串、整数和布尔值元组:tuple1 = ("abc", 34, True, 40, "male")type()从 Python 角度来看,元组被定义为具有数据类型 'tuple' 对象...:```python示例,元组数据类型是什么?...允许重复成员。- 元组(Tuple)是有序且不可更改集合。允许重复成员。- 集合(Set)是无序、不可更改和无索引集合。不允许重复成员。- 字典(Dictionary)是有序且可更改集合。...2(包括在内)开始,并在索引5(不包括在内)结束。

16400

一顿操作猛如虎,涨跌全看特朗普!

所以,第10行和第11行被执行了很多次,每一次都有不同w值。你应该能够说第10行和第11行是做什么。 将此代码保存为first.py。...此外,如果我们可以将所有模块安装在代码所在同一目录中,则只需复制该目录并在不同机器上运行。 因此,我们从创建一个虚拟环境开始。 首先,确保与代码所在文件夹相同。...换句话说,我们需要将字典保存在单独文件中,然后将其加载到程序中。 文件有不同格式,这说明数据是如何存储在文件中。...1、当“Make America”作为前两个词出现时,人工智能几乎总是预测“再次伟大”作为下一个词。 2、当提供“North”时,下一个单词几乎总是“Korea”,后面通常是一些否定句。...我们没有在tweet出现时进行分析,而是决定将每条tweet插入到一个BigQuery表中,然后找出如何分析它。

4K40

【刷题】2020最新剑指Offer汇总

在兴趣驱使下,要保证进阶效率,而不是盲目刷题,通过分类汇总、进阶把控很重要 适应人群: 以Java为主,后期可能会填充C,C++,Java,Python编程语言不同解题方法 虽为不同语言,但思想相同...打印从 1 到最大 n 位数 18.1 在 O(1) 时间内删除链表节点 18.2 删除链表中重复结点 19. 正则表达式匹配 20. 表示数值字符串 21....栈压入、弹出序列 32.1 从上往下打印二叉树 32.2 把二叉树打印成多行 32.3 按之字形顺序打印二叉树 33. 二叉搜索后序遍历序列 34....二叉树中和为某一值路径 35. 复杂链表复制 36. 二叉搜索树与双向链表 37. 序列化二叉树 38. 字符串排列 39....从 1 到 n 整数中 1 出现次数 44. 数字序列中某一位数字 45. 把数组排成最小数 46. 把数字翻译成字符串 47. 礼物最大价值 48. 最长不含重复字符字符串 49.

86920

66道前端算法面试题附思路分析助你查漏补缺

当压栈顺序遍历完成后,如果辅助栈不为空,则说明该栈顺序不正确。 22. 从上往下打印二叉树 题目: 从上往下打印出二叉树每个节点,同层节点从左至右打印。...字符串排列 题目: 输入一个字符串,按字典序打印出该字符串中字符所有排列。...当遍历到下一个数字时,如果下一个数字与之前保存数字相同,则次数加 1,如果不同,则次数减 1,如果 次数为 0,则需要保存下一个数字,并把次数设定为 1。...头结点可能与后面的结点重复,也就是说头 结点也可能被删除,所以在链表头额外添加一个结点。 接下来我们从头遍历整个链表。如果当前结点值与下一个结点值相同,那么它们就是重复结点,都可以被删除。...二叉树下一个结点 题目: 给定一棵二叉树和其中一个结点,如何找出中序遍历顺序下一个结点?树中结点除了有两个分别指向左右子结点指针以外, 还有一个指向父节点指针。

1.7K20

笨办法学 Python3 第五版(预览)(三)

你应该不断地运行你代码。如果你输入了超过几行,只需删除它们,重新开始。这样会容易得多。 现在这些行起作用了,我继续下一个注释并重复这个过程,直到我将所有的注释转换成 Python。...关键字 数据类型 对于数据类型,写出每种数据类型组成部分。例如,对于字符串,写出如何创建一个字符串。对于数字,写出一些数字。...最后,在所有困难部分,逐行追踪每个变量值,逐个函数地。实际上,再做一份打印输出,并在边缘写下你需要“追踪”每个变量值。...当你不使用纸张时另一种技巧是在代码中用#注释来记录你笔记。有时,这些注释可能成为实际注释,帮助下一个人。 常见学生问题 我该如何在网上搜索这些内容?...只需在你想要查找任何内容前加上“python3”。例如,要查找yield,搜索python3 yield。

13610

Python入门教程(二)

” 把2放进B 把字符串“有可能”放进变量“这个数还有可能是素数吗” 把下面括号里句子一直重复下去 ( 如果A除以B没有余数,那么把字符串“不可能”放进变量“这个数还有可能是素数吗” 把B加上1 如果此时...我们至少能看到3个启示:(并且长久地有效) 用循环取代重复东西 注意循环如何结束 注意循环能否开始   而编程思维以外东西,也就是传统书籍绝大多数,我决定略过。...你可以在函数里写print,引用函数之外变量,以及 不能 修改函数之外变量,等等。   想了解更多,百度搜索python3函数”,一个技巧是,看不懂就先挑看得懂看。...能放进变量里东西——比如“字符串”,可以百度“python3字符串方法”(又比如“python3复数方法”,但字符串方法尤其多)。“方法”就是加个点后跟一个函数,是函数一种。...网上搜索“geany python”有教程,但是最后一步我放个图(环境变量用处来了) ?   只有执行一栏有用,因为python几乎不编译。而且好像只能一下子粘贴,不能输入(我电脑问题?)

77110

剑指Offer题解 - Day63

字符串排列 力扣题目链接[1] 输入一个字符串打印出该字符串中字符所有排列。 你可以以任意顺序返回这个字符串数组,但里面不能有重复元素。...(N - 1) * ... * 1 种不同方式。...因此求此题核心问题在于,如何进行字符排列组合,并确保不重复(去除重复字符串)。 这里采用dfs思路,对字符串进行搜索与回溯。...循环目的就是将固定位置之后每个元素分别放到该固定位置上。 然后继续固定下一个位置。当回溯时候,需要撤销刚才元素交换,否则原字符串分隔元素位置就会被改变。...总结 本题考查字符串搜索与回溯。难度系数为困难。核心逻辑在于从头开始固定元素,并依次将后续元素与之交换,达到排列目的。然后递归处理后续元素进行固定和交换。

14220

shell语法学习

/hello-world.sh Bash 它将打印出传递给脚本内部回显字符串。 2.使用 echo 打印 echo 命令用于在 bash 中打印信息。...Bash 17.字符串截取 与许多编程语言不同,bash 不提供任何用于剪切字符串部分内置函数。然而,下面的示例演示了如何使用参数展开来实现这一点。 #!...18.使用 cut 做截取 可以在脚本中使用 Linux cut 命令来截取字符串一部分,也就是子字符串下一个示例显示了如何做到这一点。 #!...28.测试文件存在 下一个 shell 脚本示例显示如何检查 bash 程序中文件存在。 #!...39.从文件中删除重复行 文件处理需要相当长时间,并在许多方面阻碍了管理员工作效率。例如,在文件中搜索重复项可能会成为一项艰巨任务。

1.2K40

Python语言精华:Itertools库

我们可以使用Itertools模块来丰富我们应用程序,并在更短时间内创建一个可靠工作解决方案。 本文将帮助读者理解如何在项目中使用Itertools模块。...该方法输入需要是可迭代对象,比如列表、字符串或字典等 my_cycle = it.cycle('Python') for i in my_cycle: print(i) 结果: P y t...= it.repeat(to_repeat, how_many_times) for i in my_repeater: print(i) #Prints FM FM FM FM 这将重复字符串...如果我们不提供第二个参数,那么它将无限次重复这个字符串。 终止迭代器 在本节中,我将说明终止迭代强大特性。...给定一个可迭代器,我们可以构造一个迭代器来返回给定长度元素子序列。 根据它们位置,元素被视为唯一,并且只返回不同元素。

89320

大厂面试系列(七):数据结构与算法等

有主字符串A,子字符串B,在A中查找B 手撕一个有序数组二分查找算法 请说二分查找实现思路及时空复杂度。...深度优先搜索+二分查找树性质 B+树如何分裂?...俩线程分别持续打印奇数和偶数,实现俩线程交替打印(从小到大) 给定一个经过编码字符串,返回它解码后字符串。...200万行数据,如何在在每一行尾部追加一个字符; 求一个字符串中最长不重复子串长度 三个有符号整型(long)数a, b, c,怎么判断a+b > c?...实现并且设计测试用例(在main函数中调用,打印结果) (考虑同号越界问题) 给一个字符串和一个k,要求找到不超过k个不同字符最长子串长度 10进制转16进制(紧张了,有点费时间,啧啧啧) f(0)

1.1K20

全面&详细面试指南:数据结构与算法篇 (附答案)

2:寻找符合特定条件数字 数组中数值与下标相等元素 获取数组中最小k个数 排序数组中,0~n-1中缺失数字 打印从1到最大n位数:大数问题 数组中重复数字(可修改 & 不可修改数组) 典型应用...典型应用2:复制 & 删除链表 删除链表节点(重复 / 不重复) 复杂链表复制 典型应用3:翻转、合并 & 打印链表 翻转链表 从尾到头打印链表 合并两个排序链表 3....二叉树中和为某一值路径 二叉搜索第k大节点 二叉树 中序遍历下一个节点 典型应用5:二叉树类型变式 二叉搜索树与双向链表 输出二叉树镜像 平衡二叉树 串 1....算法应用 典型应用1:字符串转换 把数字翻译成字符串字符串转换成整数 典型应用2:字符查找 第一个只出现一次字符、字符流中第1个只出现1次字符、删除1个字符串重复字符、删除2个字符串重复字符...、变位数 最长不含重复字符字符串 替换 字符串空格 字符串排列 典型应用3:字符串排列组合 字符串排列 字符串组合 / 子集 典型应用4:字符串翻转 翻转字符串

69820
领券