自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 问答 (1)
  • 收藏
  • 关注

原创 C++/PY力扣:21.合并两个有序链表

使用循环,比较两个链表当前节点的值,选择较小的节点加入合并后的链表,并将对应的链表指针向后移动。循环直到其中一个链表为空,此时将另一个链表的剩余部分直接加入到合并后链表的末尾。返回哑节点的下一个节点,即为合并后链表的头部。作为合并后链表的头部,并创建一个指针。

2023-12-18 14:50:09 80

原创 C++/PY力扣:20.有效的括号

括号可以互相包含,但不能参差摆放。

2023-12-15 17:16:33 92

原创 C++/PY力扣:14.最长公共前缀

算法思路跟上面是相同的,这里就不讲解了。

2023-12-12 16:56:50 85

原创 C++/PY力扣:13.罗马数字整数

代码思路:实现的精髓在于从右向左遍历字符串,通过比较当前字符与前一个字符的大小关系,直接进行累加或累减操作。由于使用了 unordered_map,查找整数值的操作是平均 O(1) 的时间复杂度。使用 map 存储罗马数字与整数的对应关系,这里使用了 unordered_map 更合适,因为查找的时间复杂度是平均 O(1)。从左到右遍历输入的罗马数字字符串,通过比较当前字符与下一个字符的值的大小,累加或累减相应的整数值。代码思路:使用了哈希表(map)来存储罗马数字与整数的映射关系。

2023-12-12 13:29:04 73

原创 C++/PY力扣:9.回文数

【代码】C++/PY力扣:9.回文数。

2023-12-12 10:04:32 31

原创 C++力扣:1.两数之和

这些方法各有优缺点,选择哪一种方法通常取决于具体的问题要求和输入规模。在大多数情况下,哈希表方法是最常用且效率较高的方法。除了上述两种方法外,还有排序法、多重哈希表法 和 二分查找。

2023-12-11 16:44:21 35

原创 《C++ primer plus》——第 2 章 编程练习

天文单位是从地球到太阳的平均距离(约 150000000 公里或93000000 英里),光年是光一年走的距离(约10万亿公里或6万亿英里)(除太阳外,最近的恒星大约离地球 4.2 光年)。5. 编写一个程序,其中的 main()调用一个用户定义的函数(以摄氏温度值为参数,并返回相应的华氏温度值)。6. 编写一个程序,其 main)调用一个用户定义的函数(以光年值为参数,并返回对应天文单位的值)。其中一个函数要调用两次,该函数生成前两行:另一个函数也被调用两次,并生成其余的输出。

2023-08-12 14:25:03 71

原创 《C++ primer plus》——第 2 章 开始学习 C ++

步骤:先定义函数体,再 main() 函数里面调用,最后在 main() 函数上面进行函数声明。// 无返回值​​​simon(3);​return 0;​​​​// 有返回值​​int stone;​​return 0;​注意:关键字不能作他用,只能专用。

2023-08-12 08:55:41 57 3

原创 《C++ primer plus》——第 1 章 预备知识

最初有多种汇编语言,但由于不同的操作系统或者不同的硬件使用的语言不同,无法统一。此时就需要出现一种具有一种语言能将低级语言的效率、硬件访问能力和高级语言的通用性、可移植性融合在一起。于是就有了C语言。

2023-08-11 23:32:55 64 1

原创 Python 基础算法——买卖股票的最佳时机 II

17. 买卖股票的最佳时机 II给你一个整数数组 prices ,其中 prices[i] 表示某支股票第 i 天的价格。在每一天,你可以决定是否购买和/或出售股票。你在任何时候 最多 只能持有 一股 股票。你也可以先购买,然后在 同一天 出售。返回 你能获得的 最大 利润。7在第 2 天(股票价格 = 1)的时候买入,在第 3 天(股票价格 = 5)的时候卖出, 这笔交易所能获得利润 = 5 - 1 = 4。

2023-07-31 12:43:44 428 1

原创 Python 基础算法——买卖股票的最佳时机

16. 买卖股票的最佳时机给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。你只能选择某一天买入这只股票,并选择在未来的某一个不同的日子卖出该股票。设计一个算法来计算你所能获取的最大利润。返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回 0。5在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5。注意利润不能是 7-1 = 6, 因为卖出价格需要大于买入价格;

2023-07-30 00:24:11 729 1

原创 Python 基础算法——轮转数组

15. 轮转数组给定一个整数数组 nums,将数组中的元素向右轮转 k 个位置,其中 k 是非负数。向右轮转 1 步:向右轮转 2 步:向右轮转 3 步:函数法 roll和。

2023-07-28 01:19:48 443 1

原创 Python 基础算法——多数元素

14. 多数元素给定一个大小为 n 的数组 nums ,返回其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。你可以假设数组是非空的,并且给定的数组总是存在多数元素。3常用的算法分别是:函数法 Counter字典法和。

2023-07-26 20:53:29 441 3

原创 Python 基础算法——删除有序数组中的重复项 II

13. 删除有序数组中的重复项 II给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使得出现次数超过两次的元素只出现两次 ,返回删除后数组的新长度。不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。函数应返回新长度 length = 5, 并且原数组的前五个元素被修改为 [1, 1, 2, 2,常用的算法是:双指针法快慢指针法和函数法。

2023-07-26 00:32:50 204 1

原创 Python 基础算法——删除有序数组中的重复项

12. 删除有序数组中的重复项给你一个升序排列的数组 nums,请你原地删除重复出现的元素,使每个元素只出现一次,返回删除后数组的新长度。元素的相对顺序应该保持 一致。然后返回nums中唯一元素的个数。示例:输入:nums = [1,1,2]输出:2, nums = [1,2,_]解释:函数应该返回新的长度 2 ,并且原数组 nums 的前两个元素被修改为 1, 2。不需要考虑数组中超出新长度后面的元素。常用的算法分别是:函数法双指针法和递归算法。

2023-07-14 14:17:42 548 1

原创 Python 基础算法——移除元素

11. 移除元素给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。示例:输入:nums = [3,2,2,3], val = 3输出:2, nums = [2,2]解释:函数应该返回新的长度 2, 并且 nums 中的前两个元素均为 2。你不需要考虑数组中超出新长度后面的元素。

2023-07-13 00:20:00 358 1

原创 Python 基础算法——合并两个有序数组

10. 合并两个有序数组示例:输入:nums1 = [1,2,3,0,0,0], m = 3, nums2 = [2,5,6], n = 3输出:[1,2,2,3,5,6]解释:需要合并 [1,2,3] 和 [2,5,6]。合并结果是 [1,2,2,3,5,6]提示:给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 中的元素数目。

2023-07-12 22:01:39 1382 1

原创 Python 基础算法——取值第三个大的数

常见的两种算法分别是:排序法和维护三个变量法。

2023-07-12 17:13:05 266 1

原创 Python 基础算法——两数之和

常见的三种算法分别是:暴力法、哈希表和排序 + 双指针法。

2023-07-11 23:22:08 1146 1

原创 Python 基础算法——去掉空格

在使用re.sub()函数时,将匹配到的空白字符替换为空字符串"",从而实现去除空格的效果。在正则表达式中,\s是一个特殊的元字符,表示匹配任意空白字符,包括空格、制表符、换行符等。4:replace()方法,可以去除全部空格 replace(old, new, count)5: join()方法+split()方法,可以去除全部空格。1:strip()方法,去除字符串开头或者结尾的空格。2:lstrip()方法,去除字符串开头的空格。3:rstrip()方法,去除字符串结尾的空格。

2023-07-09 17:20:18 1442 1

原创 Python 基础算法——队列

Queue.task_done():在完成一项工作之后,Queue.task_done()函数向任务已经完成的队列发送一个信号。Queue.full():如果队列满了,返回True,反之False,Queue.full 与 maxsize 大小对应。Queue.get([block[, timeout]]):获取队列,timeout等待时间。Queue.get_nowait():相当于Queue.get(False),非阻塞方法。Queue.empty():如果队列为空,返回True,反之False。

2023-07-09 00:28:52 166 1

原创 Python 基础算法——栈

一般只用于栈中删除操作和获取当前栈顶元素操作中。判断栈是否已满:当堆栈已满时,返回True,当堆栈未满时,返回False。一般只用于顺序栈中插入元素和获取当前栈顶元素操作中。获取栈顶元素:相当于获取线性表中最后一个数据元素。与插入元素、删除元素不同的是,该操作并不改变栈顶指针top的指向位置。插入元素(进栈、入栈):相当于在线性表最后元素后面插入一个新的数据元素。删除元素(出栈、退栈):相当于在线性表最后元素后面删除最后一个数据元素。初始化空栈:创建一个空栈,定义栈的大小size,以及栈顶元素指针top。

2023-07-08 23:52:43 446

原创 Python 基础算法——反转字符数组

4.实现一个算法来实现反转字符数组的功能,反转的要求如下:将字符数组的字符进行反转,[‘b’, ’ ', ‘a’, ‘r’],变成。将字符数组替换为反转后的数组。

2023-07-08 17:39:54 122

原创 Python 基础算法——字符串相乘

3.字符串相乘:给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式。输入: num1 = “123”, num2 = “456”下面是Karatsuba算法的视屏讲解,有需要可以观看。输出: “56088”

2023-07-08 17:02:27 1448

原创 Python开发面试题(一)

(1)适用场景输出的产品是标准品,谁来做都可以。(2)举例常见的数据库连接工厂,SqlSessionFactory,产品是一个数据库连接,至于是oracle提供的,还是mysql提供的,都能让通过sql来操作数据。(3)注意事项项目初期,软件结构和需求都没有稳定下来时,不建议使用此模式,因为其劣势也很明显,增加了代码的复杂度,增加了调用层次,增加了内存负担。所以要注意防止模式的滥用。(4)简单实现​//抽象产品:提供了产品的接口//具体产品A:实现抽象产品中的抽象方法。

2023-07-05 23:46:44 152 1

原创 Python 基础算法——分别用生成器和迭代器生成斐波那契

_iter__()方法返回迭代器对象本身,__next__()方法返回迭代的下一个值。生成器(Generator)和迭代器(Iterator)是Python中用于处理可迭代对象的概念。每次迭代时都会执行生成器函数的代码,生成一个新的值。迭代器的特点是一次性计算并返回一个值,每次迭代时都返回下一个值,迭代器通过定义__iter__()和__next__()方法来支持迭代操作。生成器比显式定义迭代器更简洁,可以通过yield语句逐步生成值,生成器是迭代器的一种实现方式,生成器函数可以用于创建迭代器对象。

2023-07-04 19:27:53 267

原创 Python 基础算法——判单单个整数是否为回文数

在判断回文数时,我们应该比较数字的每一位,而不仅仅是比较前半部分和后半部分。此外,我们还需要考虑负数的情况。1.判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数.解释: 从左向右读, 为 -121。从右向左读, 为 121-。因此它不是一个回文数。解释: 从右向左读, 为 01。因此它不是一个回文数。

2023-07-04 17:50:46 680

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除