![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构与算法
那一勺甜
人生苦短,我用Python
展开
-
567. 字符串的排列
567. 字符串的排列给你两个字符串 s1 和 s2 ,写一个函数来判断 s2 是否包含 s1 的排列。如果是,返回 true ;否则,返回 false 。换句话说,s1 的排列之一是 s2 的 子串 。示例 1:输入:s1 = “ab” s2 = “eidbaooo”输出:true解释:s2 包含 s1 的排列之一 (“ba”).示例 2:输入:s1= “ab” s2 = “eidboaoo”输出:false提示:1 <= s1.length, s2.length <=原创 2021-10-31 15:37:45 · 71 阅读 · 0 评论 -
451. 根据字符出现频率排序
451. 根据字符出现频率排序给定一个字符串,请将字符串里的字符按照出现的频率降序排列。示例 1:输入:“tree”输出:“eert”解释:'e’出现两次,'r’和’t’都只出现一次。因此’e’必须出现在’r’和’t’之前。此外,"eetr"也是一个有效的答案。示例 2:输入:“cccaaa”输出:“cccaaa”解释:'c’和’a’都出现三次。此外,"aaaccc"也是有效的答案。注意"cacaca"是不正确的,因为相同的字母必须放在一起。示例 3:输入:“Aabb原创 2021-10-31 14:49:26 · 76 阅读 · 0 评论 -
Python | OpenCV | imshow()弹出窗口图片未响应;无法显示图片
OpenCV | imshow()弹出窗口图片未响应;无法显示图片显示图像是 Opencv最基本的操作之一, imshow()函数可以实现该操作。如果使用过其他GUI框架背景,就会很自然地调用 ishow来显示一幅图像。但这个观点并不完全正确,因为图像确实会显示出来,但随即会消失。例如下面代码:import cv2color_img = cv2.imread('C://Users/Bandari/code/py/beauty1.jpg')cv2.imshow('C://Users/Bandari/c原创 2021-10-30 18:15:54 · 3604 阅读 · 3 评论 -
面试题 01.05. 一次编辑
面试题 01.05. 一次编辑字符串有三种编辑操作:插入一个字符、删除一个字符或者替换一个字符。 给定两个字符串,编写一个函数判定它们是否只需要一次(或者零次)编辑。示例 1:输入:first = “pale”second = “ple”输出: True示例 2:输入:first = “pales”second = “pal”输出: Falseclass Solution: def oneEditAway(self, first: str, second: str) ->原创 2021-10-30 17:18:25 · 136 阅读 · 0 评论 -
2048. 下一个更大的数值平衡数
2048. 下一个更大的数值平衡数如果整数 x 满足:对于每个数位 d ,这个数位 恰好 在 x 中出现 d 次。那么整数 x 就是一个 数值平衡数 。给你一个整数 n ,请你返回 严格大于 n 的 最小数值平衡数 。示例 1:输入:n = 1输出:22解释:22 是一个数值平衡数,因为:数字 2 出现 2 次这也是严格大于 1 的最小数值平衡数。示例 2:输入:n = 1000输出:1333解释:1333 是一个数值平衡数,因为:数字 1 出现 1 次。数字 3 出原创 2021-10-29 23:05:00 · 179 阅读 · 0 评论 -
[编程题]幸运数
京东2017校招编程题汇总 [编程题]幸运数小明同学学习了不同的进制之后,拿起了一些数字做起了游戏。小明同学知道,在日常生活中我们最常用的是十进制数,而在计算机中,二进制数也很常用。现在对于一个数字x,小明同学定义出了两个函数f(x)和g(x)。 f(x)表示把x这个数用十进制写出后各个数位上的数字之和。如f(123)=1+2+3=6。 g(x)表示把x这个数用二进制写出后各个数位上的数字之和。如123的二进制表示为1111011,那么,g(123)=1+1+1+1+0+1+1=6。 小明同学发现对于一原创 2021-10-29 12:24:16 · 556 阅读 · 0 评论 -
[编程题]进制均值
京东2017校招编程题汇总 [编程题]进制均值尽管是一个CS专业的学生,小B的数学基础很好并对数值计算有着特别的兴趣,喜欢用计算机程序来解决数学问题,现在,她正在玩一个数值变换的游戏。她发现计算机中经常用不同的进制表示一个数,如十进制数123表达为16进制时只包含两位数7、11(B),用八进制表示为三位数1、7、3,按不同进制表达时,各个位数的和也不同,如上述例子中十六进制和八进制中各位数的和分别是18和11,。 小B感兴趣的是,一个数A如果按2到A-1进制表达时,各个位数之和的均值是多少?她希望你能原创 2021-10-29 12:10:55 · 93 阅读 · 0 评论 -
45. 跳跃游戏 II
45. 跳跃游戏 II给你一个非负整数数组 nums ,你最初位于数组的第一个位置。数组中的每个元素代表你在该位置可以跳跃的最大长度。你的目标是使用最少的跳跃次数到达数组的最后一个位置。假设你总是可以到达数组的最后一个位置。示例 1:输入: nums = [2,3,1,1,4]输出: 2解释: 跳到最后一个位置的最小跳跃数是 2。从下标为 0 跳到下标为 1 的位置,跳 1 步,然后跳 3 步到达数组的最后一个位置。示例 2:输入: nums = [2,3,0,1,4]输出: 2提原创 2021-10-29 11:01:36 · 74 阅读 · 0 评论 -
73. 矩阵置零 Python
73. 矩阵置零给定一个 m x n 的矩阵,如果一个元素为 0 ,则将其所在行和列的所有元素都设为 0 。请使用 原地 算法。进阶:一个直观的解决方案是使用 O(mn) 的额外空间,但这并不是一个好的解决方案。一个简单的改进方案是使用 O(m + n) 的额外空间,但这仍然不是最好的解决方案。你能想出一个仅使用常量空间的解决方案吗?输入:matrix = [[1,1,1],[1,0,1],[1,1,1]]输出:[[1,0,1],[0,0,0],[1,0,1]]输入:matrix = [原创 2021-10-29 09:59:06 · 551 阅读 · 1 评论 -
剑指 Offer 13. 机器人的运动范围
剑指 Offer 13. 机器人的运动范围地上有一个m行n列的方格,从坐标 [0,0] 到坐标 [m-1,n-1] 。一个机器人从坐标 [0, 0] 的格子开始移动,它每次可以向左、右、上、下移动一格(不能移动到方格外),也不能进入行坐标和列坐标的数位之和大于k的格子。例如,当k为18时,机器人能够进入方格 [35, 37] ,因为3+5+3+7=18。但它不能进入方格 [35, 38],因为3+5+3+8=19。请问该机器人能够到达多少个格子?示例 1:输入:m = 2, n = 3, k = 1原创 2021-10-28 17:55:22 · 59 阅读 · 0 评论 -
NC22 合并两个有序的数组
NC22 合并两个有序的数组 C++描述给出一个整数数组 A 和有序的整数数组 B ,请将数组 B 合并到数组 A 中,变成一个有序的升序数组注意:1.保证 A 数组有足够的空间存放 B 数组的元素, A 和 B 中初始的元素数目分别为 m 和 n,A的数组空间大小为 m+n2.不要返回合并的数组,将数组 B 的数据合并到 A 里面就好了3. A 数组在[0,m-1]的范围也是有序的示例1输入:[4,5,6],[1,2,3]复制返回值:[1,2,3,4,5,6]复制说明:A数组原创 2021-10-27 00:09:29 · 140 阅读 · 0 评论 -
119. 杨辉三角 II
119. 杨辉三角 II给定一个非负索引 rowIndex,返回「杨辉三角」的第 rowIndex 行。在「杨辉三角」中,每个数是它左上方和右上方的数的和。示例 1:输入: rowIndex = 3输出: [1,3,3,1]示例 2:输入: rowIndex = 0输出: [1]示例 3:输入: rowIndex = 1输出: [1,1]提示:0 <= rowIndex <= 33来源:力扣(LeetCode)class Solution: def getR原创 2021-10-26 18:18:08 · 117 阅读 · 0 评论 -
字节跳动2018校招后端方向(第四批)Python
三只球队Python有三只球队,每只球队编号分别为球队1,球队2,球队3,这三只球队一共需要进行 n 场比赛。现在已经踢完了k场比赛,每场比赛不能打平,踢赢一场比赛得一分,输了不得分不减分。已知球队1和球队2的比分相差d1分,球队2和球队3的比分相差d2分,每场比赛可以任意选择两只队伍进行。求如果打完最后的 (n-k) 场比赛,有没有可能三只球队的分数打平。输入描述:第一行包含一个数字 t (1 <= t <= 10)接下来的t行每行包括四个数字 n, k, d1, d2(1 <=原创 2021-10-25 23:29:19 · 103 阅读 · 0 评论 -
229. 求众数 II
229. 求众数 II给定一个大小为 n 的整数数组,找出其中所有出现超过 ⌊ n/3 ⌋ 次的元素。示例 1:输入:[3,2,3]输出:[3]示例 2:输入:nums = [1]输出:[1]示例 3:输入:[1,1,1,3,3,2,2,2]输出:[1,2]python代码class Solution: def majorityElement(self, nums: List[int]) -> List[int]: setnums = list(set(原创 2021-10-22 21:04:17 · 42 阅读 · 0 评论 -
[编程题]六位数
美团2021校招笔试-编程题(通用编程试题,第7场)小团想要编写一个程序,希望可以统计在M和N之间(M<N,且包含M和N)有多少个六位数ABCDEF满足以下要求:(1) ABCDEF这六个数字均不相同,即A、B、C、D、E和F表示六个不同的数字。(2) AB+CD=EF。即将这个六位数拆成三个两位数,使得第1个和第2个两位数的和等于第3个两位数。(注意:AB、CD和EF都必须是正常的两位数,因此A、C和E都不能等于0。)数据范围:100000<= M,N <= 999999进阶原创 2021-10-21 12:24:00 · 682 阅读 · 0 评论 -
28. 实现 strStr()
28. 实现 strStr()实现 strStr() 函数。给你两个字符串 haystack 和 needle ,请你在 haystack 字符串中找出 needle 字符串出现的第一个位置(下标从 0 开始)。如果不存在,则返回 -1 。说明:当 needle 是空字符串时,我们应当返回什么值呢?这是一个在面试中很好的问题。对于本题而言,当 needle 是空字符串时我们应当返回 0 。这与 C 语言的 strstr() 以及 Java 的 indexOf() 定义相符。示例 1:输入:h原创 2021-10-16 21:29:28 · 55 阅读 · 0 评论 -
14. 最长公共前缀
14. 最长公共前缀编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 “”。示例 1:输入:strs = [“flower”,“flow”,“flight”]输出:“fl”示例 2:输入:strs = [“dog”,“racecar”,“car”]输出:""解释:输入不存在公共前缀。提示:1 <= strs.length <= 2000 <= strs[i].length <= 200strs[i] 仅由小写英文字母组成来源:原创 2021-10-11 21:16:25 · 39 阅读 · 0 评论 -
1365. 有多少小于当前数字的数字
1365. 有多少小于当前数字的数字给你一个数组 nums,对于其中每个元素 nums[i],请你统计数组中比它小的所有数字的数目。换而言之,对于每个 nums[i] 你必须计算出有效的 j 的数量,其中 j 满足 j != i 且 nums[j] < nums[i] 。以数组形式返回答案。示例 1:输入:nums = [8,1,2,2,3]输出:[4,0,1,1,3]解释:对于 nums[0]=8 存在四个比它小的数字:(1,2,2 和 3)。对于 nums[1]=1 不存在比它小原创 2021-10-11 12:04:50 · 82 阅读 · 0 评论 -
HJ87 密码强度等级
HJ87 密码强度等级描述密码按如下规则进行计分,并根据不同的得分为密码进行安全等级划分。一、密码长度:5 分: 小于等于4 个字符10 分: 5 到7 字符25 分: 大于等于8 个字符二、字母:0 分: 没有字母10 分: 全都是小(大)写字母20 分: 大小写混合字母三、数字:0 分: 没有数字10 分: 1 个数字20 分: 大于1 个数字四、符号:0 分: 没有符号10 分: 1 个符号25 分: 大于1 个符号五、奖励:2 分: 字母和数字3 分: 字母原创 2021-10-08 12:15:23 · 1438 阅读 · 0 评论 -
HJ99 自守数
HJ99 自守数描述自守数是指一个数的平方的尾数等于该数自身的自然数。例如:25^2 = 625,76^2 = 5776,9376^2 = 87909376。请求出n以内的自守数的个数接口说明/*功能: 求出n以内的自守数的个数输入参数:int n返回值:n以内自守数的数量。*/public static int CalcAutomorphicNumbers( int n){/在这里实现功能/return 0;}本题有多组输入数据,请使用while(cin>>)等原创 2021-10-07 11:44:46 · 573 阅读 · 0 评论 -
HJ107 求解立方根
HJ107 求解立方根描述计算一个数字的立方根,不使用库函数。保留一位小数。输入描述:待求解参数,为double类型(一个实数)输出描述:输入参数的立方根。保留一位小数。示例1输入:216输出:6.0python代码:# 牛顿迭代法求解立方根的思路:# 令f(x) = x^3 - a,求解f(x) = x^3 - a = 0。# 利用泰勒公式展开,即f(x)在x0处的函数值为:# f(x) = f(x0) +f'(x0)(x-x0) = (x0^3-a) + (3x0^2)(原创 2021-10-07 00:07:36 · 511 阅读 · 0 评论 -
HJ88 扑克牌大小
HJ88 扑克牌大小描述扑克牌游戏大家应该都比较熟悉了,一副牌由54张组成,含3~A、2各4张,小王1张,大王1张。牌面从小到大用如下字符和字符串表示(其中,小写joker表示小王,大写JOKER表示大王):3 4 5 6 7 8 9 10 J Q K A 2 joker JOKER输入两手牌,两手牌之间用"-“连接,每手牌的每张牌以空格分隔,”-"两边没有空格,如:4 4 4 4-joker JOKER。请比较两手牌大小,输出较大的牌,如果不存在比较关系则输出ERROR。基本规则:(1)输入原创 2021-10-06 22:52:47 · 625 阅读 · 1 评论 -
HJ37 统计每个月兔子的总数
HJ37 统计每个月兔子的总数描述有一只兔子,从出生后第3个月起每个月都生一只兔子,小兔子长到第三个月后每个月又生一只兔子,假如兔子都不死,问每个月的兔子总数为多少?本题有多组数据。输入描述:输入int型表示month输出描述:输出兔子总数int型示例1输入:9输出:34python代码while True: try: n = int(input()) if n <= 2: print(1) e原创 2021-10-05 19:28:02 · 139 阅读 · 0 评论 -
HJ26 字符串排序
HJ26 字符串排序描述编写一个程序,将输入字符串中的字符按如下规则排序。规则 1 :英文字母从 A 到 Z 排列,不区分大小写。如,输入: Type 输出: epTy规则 2 :同一个英文字母的大小写同时存在时,按照输入顺序排列。如,输入: BabA 输出: aABb规则 3 :非英文字母的其它字符保持原来的位置。如,输入: By?e 输出: Be?y注意有多组测试数据,即输入有多行,每一行单独处理(换行符隔开的表示不同行)输入描述:输入字符串输出描述:输出字符串示例1输入:原创 2021-10-02 22:24:16 · 344 阅读 · 0 评论 -
HJ23 删除字符串中出现次数最少的字符
HJ23 删除字符串中出现次数最少的字符(Python)描述实现删除字符串中出现次数最少的字符,若多个字符出现次数一样,则都删除。输出删除这些单词后的字符串,字符串中其它字符保持原来的顺序。注意每个输入文件有多组输入,即多个字符串用回车隔开输入描述:字符串只包含小写英文字母, 不考虑非法输入,输入的字符串长度小于等于20个字节。输出描述:删除字符串中出现次数最少的字符后的字符串。示例1输入:abcddaabcddd输出:ddaadddpython代码:while True:原创 2021-10-02 17:55:48 · 329 阅读 · 0 评论 -
HJ21 简单密码
HJ21 简单密码(Python代码)描述密码是我们生活中非常重要的东东,我们的那么一点不能说的秘密就全靠它了。哇哈哈. 接下来渊子要在密码之上再加一套密码,虽然简单但也安全。假设渊子原来一个BBS上的密码为zvbo9441987,为了方便记忆,他通过一种算法把这个密码变换成YUANzhi1987,这个密码是他的名字和出生年份,怎么忘都忘不了,而且可以明目张胆地放在显眼的地方而不被别人知道真正的密码。他是这么变换的,大家都知道手机上的字母: 1–1, abc–2, def–3, ghi–4, jkl原创 2021-10-01 21:46:17 · 317 阅读 · 0 评论 -
HJ20 密码验证合格程序
HJ20 密码验证合格程序描述密码要求:1.长度超过8位2.包括大小写字母.数字.其它符号,以上四种至少三种3.不能有相同长度大于2的子串重复输入描述:一组或多组长度超过2的字符串。每组占一行输出描述:如果符合要求输出:OK,否则输出NG示例1输入:021Abc9000021Abc9Abc1021ABC9000021$bc9000输出:OKNGNGOKPython代码while True: def test_1(s): # 判断长度原创 2021-10-01 20:01:30 · 358 阅读 · 0 评论 -
HJ10 字符个数统计
HJ10 字符个数统计(C++、C、Python)描述编写一个函数,计算字符串中含有的不同字符的个数。字符在ASCII码范围内(0~127,包括0和127),换行表示结束符,不算在字符里。不在范围内的不作统计。多个相同的字符只计算一次例如,对于字符串abaca而言,有a、b、c三种不同的字符,因此输出3。输入描述:输入一行没有空格的字符串。输出描述:输出 输入字符串 中范围在(0~127,包括0和127)字符的种数。示例1输入:abc输出:3解题思路用一个循环,遍历所输入的字符串原创 2021-09-30 21:26:41 · 499 阅读 · 1 评论 -
HJ9 提取不重复的整数
HJ9 提取不重复的整数(C++、Python)描述输入一个int型整数,按照从右向左的阅读顺序,返回一个不含重复数字的新的整数。保证输入的整数最后一位不是0。输入描述:输入一个int型整数输出描述:按照从右向左的阅读顺序,返回一个不含重复数字的新的整数示例1输入:9876673输出:37689解题思路1 用数组统计整数的出现次数统计整数的出现次数可以采用一个初值为0的全局数组变量,数值对应index,count[index]代表出现的次数。2 从右向左获取数字通过 nu原创 2021-09-30 18:08:39 · 314 阅读 · 0 评论 -
HJ6 质数因子(C++、Python)
题目描述功能:输入一个正整数,按照从小到大的顺序输出它的所有质因子(重复的也要列举)(如180的质因子为2 2 3 3 5 )最后一个数后面也要有空格输入描述:输入一个long型整数输出描述:按照从小到大的顺序输出它的所有质数的因子,以空格隔开。最后一个数后面也要有空格。示例1输入:180输出:2 2 3 3 5代码C++#include<bits/stdc++.h>using namespace std;int main(){ long m;原创 2021-09-29 16:01:50 · 445 阅读 · 0 评论 -
HJ4 字符串分隔
HJ4 字符串分隔Python描述•连续输入字符串,请按长度为8拆分每个输入字符串并进行输出;•长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。输入描述:连续输入字符串(输入多次,每个字符串长度小于等于100)输出描述:依次输出所有分割后的长度为8的新字符串示例1输入:abc123456789复制输出:abc000001234567890000000Python代码while True: try: line = input()原创 2021-09-29 13:47:51 · 118 阅读 · 0 评论 -
HJ5进制转换
华为牛客网机试Python @HJ5机制转换题目描述写出一个程序,接受一个十六进制的数,输出该数值的十进制表示。输入描述:输入一个十六进制的数值字符串。注意:一个用例会同时有多组输入数据,请参考帖子https://www.nowcoder.com/discuss/276处理多组输入的问题。输出描述:输出该数值的十进制字符串。不同组的测试用例用\n隔开。。Python代码方法一:while True: try: line = input() str1原创 2021-09-29 13:40:31 · 650 阅读 · 0 评论 -
数字黑洞 6174 python和c++
数字黑洞 6174 python和c++给定任一个各位数字不完全相同的四位正整数,如果先把四个数字按非递增排序,再按非递减排序,然后用第一个数字减去第二个数字,将得到一个新的数字。一直重复这样做,很快会停在有“数字黑洞”之称的6174,这个神奇的数字也叫Kaprekar常数。现在给定任意四位正整数,请编写程序演示达到‘数字黑洞’的过程。例如:输入:6767输出:7766-6677=10899810-0189=96219621-1269=83528532-2358=6174Python代码原创 2021-05-05 23:24:23 · 1670 阅读 · 0 评论 -
剑指offer 05. 替换空格
剑指offer 05. 替换空格请实现一个函数,把字符串 s 中的每个空格替换成"%20"。示例 1:输入:s = “We are happy.”输出:“We%20are%20happy.”限制:0 <= s 的长度 <= 10000Python代码实现Python代码1:class Solution: def replaceSpace(self, s: str) -> str: s = list(s) # 把字符串装换成字符串数组原创 2021-05-03 12:05:15 · 175 阅读 · 0 评论 -
Leetcode两数相加的Python代码和测试例子
Leetcode两数相加的Python代码和测试例子题目描述:给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字 0 之外,这两个数都不会以 0 开头。输入:l1 = [2,4,3], l2 = [5,6,4]输出:[7,0,8]解释:342 + 465 = 807.Python代码# Definition for singly-linked lis原创 2021-04-27 23:17:38 · 261 阅读 · 0 评论