![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
python刷题记录
文章平均质量分 64
Orasuka
狗狗狗,老哥们稳啊!
展开
-
二、字符串(44)6. Z 字形变换
以从上往下、从左到右进行 Z 字形排列。转载 2022-11-23 11:20:54 · 227 阅读 · 1 评论 -
二、字符串(43)482. 密钥格式化
字符串 S 被分成了 3 个部分,按照前面的规则描述,第一部分的字符可以少于给定的数量,其余部分皆为 2 个字符。短,但仍然必须包含至少一个字符。此外,两组之间必须插入破折号,并且应该将所有小写字母转换为大写字母。字符串 S 被分成了两个部分,每部分 4 个字符;,仅由字母、数字字符和破折号组成。注意,两个额外的破折号需要删掉。个字符,除了第一组,它可以比。我们想要重新格式化字符串。给定一个许可密钥字符串。482. 密钥格式化。重新格式化的许可密钥。转载 2022-11-21 11:59:56 · 281 阅读 · 0 评论 -
二、字符串(42)306. 累加数
除了最开始的两个数以外,序列中的每个后续数字必须是它之前两个数字之和。是一个字符串,组成它的数字可以形成累加序列。的字符串,编写一个算法来判断给定输入是否是。你计划如何处理由过大的整数输入导致的溢出?累加序列里的数,除数字 0 之外,以 0 开头,所以不会出现。转载 2022-11-19 16:18:52 · 275 阅读 · 0 评论 -
二、字符串(41)43. 字符串相乘
如果 num1 和 num2都不是0,则可以通过模拟「竖式乘法」的方法计算乘积。从右往左遍历乘数,将乘数的每一位与被乘数相乘得到对应的结果,再将每次得到的结果累加。这道题中,被乘数是 num1,乘数是 num2。需要注意的是,num2除了最低位以外,其余的每一位的运算结果都需要补 0。如果 num1和 num2之一是 0,则直接将 0 作为结果返回即可。不能使用任何内置的 BigInteger 库或直接将输入转换为整数。的乘积,它们的乘积也表示为字符串形式。给定两个以字符串形式表示的非负整数。转载 2022-11-17 10:02:09 · 115 阅读 · 0 评论 -
二、字符串(41)415. 字符串相加
具体实现也不复杂,我们定义两个指针 i和 j分别指向 num1和 num2的末尾,即最低位,同时定义一个变量 add 维护当前是否有进位,然后从末尾到开头逐位相加即可。你可能会想两个数字位数不同怎么处理,这里我们统一在指针当前下标处于负数的时候返回 0,等价于对位数较短的数字进行了补零操作,这样就可以除去两个数字位数不同情况的处理,具体可以看下面的代码。竖式加法就是我们平常学习生活中常用的对两个整数相加的方法,回想一下我们在纸上对两个整数相加的操作,是不是如下图。,计算它们的和并同样以字符串形式返回。转载 2022-11-16 15:34:55 · 98 阅读 · 0 评论 -
二、字符串(40)66. 加一
你可以假设除了整数 0 之外,这个整数不会以零开头。最高位数字存放在数组的首位, 数组中每个元素只存储。数组所表示的非负整数,在该数的基础上加一。输入数组表示数字 4321。输入数组表示数字 123。转载 2022-10-29 09:12:51 · 62 阅读 · 0 评论 -
二、字符串(39)522. 最长特殊序列 II
如果最长特殊序列不存在,返回。定义如下:该序列为某字符串。522. 最长特殊序列 II。转载 2022-10-28 09:04:28 · 120 阅读 · 0 评论 -
二、字符串(38)521. 最长特殊序列 Ⅰ
若两字符串不相同,那么我们可以选择较长的字符串作为最长特殊序列,显然它不会是较短的字符串的子序列。特别地,当两字符串长度相同时(但不是同一字符串),我们仍然可以选择其中的一个字符串作为最长特殊序列,它不会是另一个字符串的子序列。字符串 a 的每个子序列也是字符串 b 的每个子序列。同样,字符串 b 的每个子序列也是字符串 a 的子序列。若子序列的长度等于字符串的长度,那么子序列就是该字符串。最长特殊序列可为 "aba" (或 "cdc"),两者均为自身的子序列且不是对方的子序列。转载 2022-10-27 08:48:59 · 74 阅读 · 0 评论 -
二、字符串(37)524. 通过删除字母匹配到字典里最长单词
给你一个字符串 s 和一个字符串数组 dictionary ,找出并返回 dictionary 中最长的字符串,该字符串可以通过删除 s 中的某些字符得到。输入:s = "abpcplea", dictionary = ["ale","apple","monkey","plea"]输入:s = "abpcplea", dictionary = ["a","b","c"]如果答案不止一个,返回长度最长且字母序最小的字符串。如果答案不存在,则返回空字符串。输出:"apple"转载 2022-10-26 12:07:15 · 145 阅读 · 0 评论 -
二、字符串(36)392. 判断子序列
如果有大量输入的 S,称作 S1, S2, ... , Sk 其中 k >= 10亿,你需要依次检查它们是否为 T 的子序列。在这种情况下,你会怎样改变代码?字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串。392. 判断子序列。转载 2022-10-20 10:59:01 · 234 阅读 · 0 评论 -
二、字符串(35)481. 神奇字符串
神奇字符串 s 的前 6 个元素是 “”,它包含三个 1,因此返回 3。481. 神奇字符串。转载 2022-10-19 09:21:36 · 122 阅读 · 0 评论 -
二、字符串(34)165. 比较版本号
我们可以将版本号按照点号分割成修订号,然后从左到右比较两个版本号的相同下标的修订号。注意根据题目要求,如果版本号不存在某个下标处的修订号,则该修订号视为 000。version1 中下标为 0 的修订号是 "0",version2 中下标为 0 的修订号是 "1"。修订号从左到右编号,下标从 0 开始,最左边的修订号下标为 0 ,下一个修订号下标为 1 ,以此类推。方法一需要存储分割后的修订号,为了优化空间复杂度,我们可以在分割版本号的同时解析出修订号进行比较。的修订号相同,而下标为。转载 2022-10-18 16:36:45 · 223 阅读 · 0 评论 -
二、字符串(34)273. 整数转换英文表示
输出:"One Million Two Hundred Thirty Four Thousand Five Hundred Sixty Seven"输出:"Twelve Thousand Three Hundred Forty Five"输出:"One Hundred Twenty Three"将非负整数 num 转换为其对应的英文表示。输入:num = 1234567。输入:num = 12345。输入:num = 123。转载 2022-10-11 09:41:40 · 263 阅读 · 0 评论 -
二、字符串(33)12. 整数转罗马数字
数字 1 在数字 5 的左边,所表示的数等于大数 5 减小数 1 得到的数值 4。C 可以放在 D (500) 和 M (1000) 的左边,来表示 400 和 900。X 可以放在 L (50) 和 C (100) 的左边,来表示 40 和 90。解释: M = 1000, CM = 900, XC = 90, IV = 4.I 可以放在 V (5) 和 X (10) 的左边,来表示 4 和 9。罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。输入: num = 4。转载 2022-10-10 12:09:58 · 127 阅读 · 0 评论 -
二、字符串(32)13. 罗马数字转整数
数字 1 在数字 5 的左边,所表示的数等于大数 5 减小数 1 得到的数值 4。C 可以放在 D (500) 和 M (1000) 的左边,来表示 400 和 900。s 仅含字符 ('I', 'V', 'X', 'L', 'C', 'D', 'M')X 可以放在 L (50) 和 C (100) 的左边,来表示 40 和 90。I 可以放在 V (5) 和 X (10) 的左边,来表示 4 和 9。罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。输入: s = "IV"转载 2022-10-09 12:09:38 · 84 阅读 · 0 评论 -
二、字符串(31)8. 字符串转换整数 (atoi)
将前面步骤读入的这些数字转换为整数(即,"123" -> 123, "0032" -> 32)。第 2 步:"4193 with words"(当前没有读入字符,因为这里不存在 '-' 或者 '+')由于 "-42" 在范围 [-231, 231 - 1] 内,最终结果为 -42。第 2 步:"42"(当前没有读入字符,因为这里不存在 '-' 或者 '+')第 2 步:" -42"(读入 '-' 字符,所以结果应该是负数)第 1 步:"42"(当前没有读入字符,因为没有前导空格)转载 2022-10-09 11:03:32 · 223 阅读 · 0 评论 -
二、字符串(30)443. 压缩字符串
输入:chars = ["a","b","b","b","b","b","b","b","b","b","b","b","b"]输出:返回 6 ,输入数组的前 6 个字符应该是:["a","2","b","2","c","3"]解释:"aa" 被 "a2" 替代。"bb" 被 "b2" 替代。"ccc" 被 "c3" 替代。输出:返回 4 ,输入数组的前 4 个字符应该是:["a","b","1","2"]。输入:chars = ["a","a","b","b","c","c","c"]转载 2022-10-05 10:13:38 · 1025 阅读 · 0 评论