
每天练习python-力扣题库
文章平均质量分 57
每天练习力扣提,并分享。
是萧萧吖
逢人不说人间事,便是人间无事人。
展开
-
LeetCode练习-删除链表的第n个结节
通过使用双指针方法,我们可以有效地解决删除链表倒数第n个节点的问题。这种方法不仅简洁明了,而且高效,非常适合在实际编码中使用。如果你在做 LeetCode 练习时遇到类似问题,不妨尝试这种思路。我们下次再见,拜拜啦。原创 2024-10-24 10:18:27 · 421 阅读 · 1 评论 -
每天学python-力扣四数之和
在算法中,四数之和是一个非常典型的问题。该问题主要是在一个数组中找出四个数,使得它们的和等于给定的目标值target。本文将介绍一种优化时间复杂度的解决方案。原创 2023-05-17 21:41:01 · 349 阅读 · 0 评论 -
每天学python-电话号码的字母组合
通过本篇博客,我们了解了如何求出一个仅包含数字 2-9 的字符串所能表示的所有字母组合。这个题目是一个比较典型的回溯算法问题,解决这个问题能够提高我们对回溯算法的理解能力。同时,我们还讲解了使用回溯法来处理该问题的思路和具体实现。这种思路也可以应用到其他类似问题中,比如求出一个数组的所有子集、求出一个图的所有路径等。希望本篇博客能对您有所帮助,如果您有任何疑问或建议,请在评论区与我们分享。原创 2023-04-23 09:00:00 · 750 阅读 · 0 评论 -
每天学python-最接近的三数之和
通过本篇博客,我们了解了如何寻找最接近目标值的三元组。这个题目是一个比较典型的数组处理和双指针算法问题,解决这个问题能够提高我们对数组处理和双指针算法的理解能力。同时,我们还讲解了通过将数组排序,使用双指针向中间移动来寻找所有满足条件的三元组的思路和具体实现。这种思路也可以应用到其他类似问题中,比如寻找最接近目标值的两个数等。希望本篇博客能对您有所帮助,如果您有任何疑问或建议,请在评论区与我们分享。原创 2023-04-22 09:00:00 · 186 阅读 · 0 评论 -
每天学python-三数之和
通过本篇博客,我们了解了如何寻找所有满足 a + b + c = 0 的不重复的三元组。这个题目是一个比较典型的数组处理和双指针算法问题,解决这个问题能够提高我们对数组处理和双指针算法的理解能力。同时,我们还讲解了通过将数组排序,使用双指针向中间移动来寻找所有满足条件的三元组的思路和具体实现。这种思路也可以应用到其他类似问题中,比如寻找最接近目标值的三元组等。希望本篇博客能对您有所帮助,如果您有任何疑问或建议,请在评论区与我们分享。原创 2023-04-21 09:00:00 · 177 阅读 · 0 评论 -
每天学python-最长公共前缀
通过本篇博客,我们了解了如何在字符串数组中查找最长公共前缀。这个题目是一个比较典型的字符串处理问题,解决这个问题能够提高我们对字符串处理的理解能力。同时,我们还讲解了通过将第一个字符串设置为公共前缀,依次比较每个字符串与公共前缀的公共部分来得到结果的思路和具体实现。这种思路也可以应用到其他类似问题中,比如查找最长回文子串等。希望本篇博客能对您有所帮助,如果您有任何疑问或建议,请在评论区与我们分享。原创 2023-04-20 09:00:00 · 948 阅读 · 2 评论 -
每天学python- 罗马数字转整数
通过本篇博客,我们了解了如何将罗马数字转换成整数。这个题目是一个比较典型的字符串处理和数学运算的问题,解决这个问题能够提高我们对字符串处理和数学运算的理解能力。同时,我们还讲解了通过从左到右遍历罗马数字来求和的思路和具体实现。这种思路可以应用到其他类似问题中,比如将整数转换成罗马数字等。希望本篇博客能对您有所帮助,如果您有任何疑问或建议,请在评论区与我们分享。原创 2023-04-19 09:00:00 · 280 阅读 · 0 评论 -
每天学python-整数转罗马数字
本题要求将一个给定的整数转换为罗马数字。罗马数字是古罗马所使用的计数系统,现在仅用于特殊场合,如钟表以及用于标识奥林匹克运动会的编号等。解决该问题的方法比较简单,我们可以使用一个哈希表来存储罗马数字和整数之间的对应关系,然后从大到小遍历罗马数字集合,每次尽可能地使用较大的罗马数字作为加法因子,直到表示完整个整数。具体实现细节见代码。另外需要注意的是,在 Python 2.x 中需要使用方法来遍历字典的键值对,并且由于整数除法的结果也是整数,所以需要使用来代替//。原创 2023-04-18 20:35:27 · 418 阅读 · 1 评论 -
每天学python-盛最多水的容器
这道题是一道经典的双指针问题,又称为盛水最多的容器问题。使用双指针法可以将时间复杂度优化到 O(n),空间复杂度为 O(1)。问题的解可以表示为两个指针之间的某种关系;指针可以根据题目要求移动,以便逼近解;这类问题的时间复杂度通常为 O(n),空间复杂度为 O(1),是比较高效的算法。总之,掌握双指针法对于解决数组和字符串相关的问题非常重要,这类问题在实际工作中也经常会遇到。原创 2023-04-18 20:34:47 · 613 阅读 · 1 评论 -
每天学python-正则表达式匹配
这道题是字符串匹配问题中比较复杂的一类,因为它支持通配符 '.' 和 '*',使得我们需要进行更多的分类讨论。递归+回溯这种解法基于深度优先搜索,思路比较简单,但时间复杂度较高,不利于大规模数据的处理。动态规划这种解法基于状态转移方程,使用二维布尔数组 dp[i][j] 表示 s 的前 i 个字符和 p 的前 j 个字符是否能够匹配。该解法的时间复杂度为 O(nm),空间复杂度也为 O(nm),在处理大规模数据时表现较优。总之,对于字符串匹配问题,我们需要根据具体的情况选择合适的算法来解决。原创 2023-04-18 20:34:12 · 113 阅读 · 1 评论 -
每天学python-回文数
给你一个整数 x ,如果 x 是一个回文整数,返回 true;否则,返回 false。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。例如,121 是回文,而 123 不是。原创 2023-04-18 20:33:24 · 332 阅读 · 0 评论 -
每天学python-字符串转换整数
请你来实现一个 myAtoi(string s) 函数,使其能将字符串转换成一个 32 位有符号整数(类似 C/C++ 中的 atoi 函数)。函数 myAtoi(string s) 的算法如下:读入字符串并丢弃无用的前导空格检查下一个字符(假设还未到字符末尾)为正还是负号,读取该字符(如果有)。确定最终结果是负数还是正数。如果两者都不存在,则假定结果为正。读入下一个字符,直到到达下一个非数字字符或到达输入的结尾。字符串的其余部分将被忽略。原创 2023-04-18 20:30:26 · 624 阅读 · 0 评论 -
每天学python-整数反转
给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。如果反转后整数超过 32 位的有符号整数的范围 [−231, 231 − 1] ,就返回 0。原创 2023-04-18 20:28:05 · 861 阅读 · 0 评论 -
每天练习python-中位数
题目:给定两个大小分别为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的 中位数。算法的时间复杂度应该为 O(log (m+n))原创 2023-04-18 09:00:00 · 122 阅读 · 0 评论 -
每天练习python-N字形变换
题目:将一个给定字符串 s 根据给定的行数 numRows ,以从上往下、从左到右进行 Z 字形排列。比如输入字符串为 "PAYPALISHIRING" 行数为 3 时,排列如下:Y I R。原创 2023-04-16 09:00:00 · 186 阅读 · 0 评论 -
每天练习python-最长回文数
题目:给你一个字符串s,找到s中最长的回文子串。如果字符串的反序与原始字符串相同,则该字符串称为回文字符串。原创 2023-04-17 09:00:00 · 243 阅读 · 0 评论 -
【无标题】新人报到打卡
在上面的代码中,我们首先创建一个空的哈希表 hashmap,并初始化左边界 left 和最大子串长度 max_len。随后,我们依次遍历字符串 s 中的每个字符,对于每个字符,我们查询其是否已经在哈希表中出现过,并且其上一次出现位置是否在左边界 left 的右侧。具体地,在遍历字符串 s 的过程中,对于每个字符,我们将其插入哈希表中,并记录其最近一次出现的位置。如果当前字符已经在哈希表中出现过了,并且它的上一次出现位置在左边界 left 的右侧,那么我们就需要更新左边界到当前字符的上一次出现位置的右侧。原创 2023-04-13 19:02:12 · 105 阅读 · 0 评论 -
每天练习python-两数相加
题目:给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字 0 之外,这两个数都不会以 0 开头。原创 2023-04-15 09:00:00 · 106 阅读 · 1 评论 -
每天练习python
1. 编写程序,计算并输出1- 1/2 + 1/3 - 1/4 + +1/99 - 1/100的值(结果保留4为小数)2.编写程序,从键盘输入a和n,求a+aa+aaa+.+aa...a(n个a)的值。例如,从键盘输入a的值为2,n的值为5,输出24690。4.自幂数是指一个n位数,它的每个数位上的数字的n次幂之和等于它本身。编写程序,打印所有的玫瑰花数,并计算玫瑰花数的个数。3. 给定一个大于1的自然数,如果它只能被1和它本身整除,那么这个自然数是素数。例如,2是素数,7是素数,9不是素数。原创 2023-04-13 18:15:01 · 588 阅读 · 2 评论