自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 收藏
  • 关注

原创 python算法-判断尾数&两个字符串是变位词--Day019

有个01字符串str,只会出现3个单词,两字节的单词10或11,一字节的单词0,判断字符串中最后一个单词的字节数示例:输入str=“100”,输出1,因为str由两个单词构成,10和0输入str=“1110”,输出2,因为str由两个单词构成,11和10return 2for i in range(-2,-len(str)-1,-1):#` 使用 `range` 函数逆向遍历字符串的索引。

2025-03-04 15:57:40 488

原创 python算法-循环单词&最大数组之和为k--Day018

如果一个单词通过循环右移可获得另外一个单词,则称该单词为循环单词。给出一个单词集合,统计该集合中有多少种循环单词?(所有单词均为小写)示例:输入[“picture”,“turepic”,“icturep”,“word”,“ordw”,“long”],输出3,因为"picture",“turepic”,"icturep"是相同的循环单词,“word”,"ordw"也相同,"long"是第三个不同于前2个的单词dict1 = set()#初始化一个空的集合(set)。集合是一个不包含重复元素的数据结构。

2025-02-27 14:04:42 481

原创 python算法-用递归打印数字&3的幂--Day017

用递归的方法找到从1到最大的n位整数示例:给出1,返回[1,2,3,4,5,6,7,8,9]ret = pow(10,n)#采用内置函数pow(x,y),返回x的y次方,得出更多数字res = []return resn = int(input("请输入数字:"))print(a)输入:2。

2025-02-25 21:45:38 580

原创 python算法-简单&进阶寻找主元素--Day016

给定一个整型数组,找到主元素,该主元素在数组中的出现次数大于数组元素个数的三分之一示例:输入[99,2,99,2,99,3,3],输出99输入[1,2,1,2,1,3,3],输出1nums.sort()#将数组排序,使相同元素相邻,便于后续统计i = 0;j = 0j = nums.count(nums[i])#统计当前元素出现次数i += jreturnprint(x)得到的结果:99。

2025-02-25 00:42:12 529

原创 python算法-查找数组中没有出现的所有数字&简单计算器--Day015

给定一个整数数组,其中1≤a[i]≤n(n为数组的大小),一些元素出现两次,其他元素出现一次。找到[1,n]中所有未出现在此数组中的元素。示例:输入[4,3,2,7,8,2,3,1],输出[5,6]n = len(list)#设置列表的长度s = set(list)#去掉列表里重复的元素res = [i for i in range(1,n+1) if i not in s]#列表推导式,比传统循环快约20%return resprint(x)得到的结果:[5, 6]

2025-02-24 01:24:26 593

原创 python算法-能否转换&删除字符--Day014

给定两个字符串S和T,判断S能否通过删除一些字母(包括0个)变成T示例:输入S="longterm"和T=“long”,输出Truej = 0if s[i] == t[i]:#检查 `s` 的第 `i` 个字符是否与 `t` 的第 `j` 个字符匹配。如果匹配,则执行以下操作j += 1#增加 `j` 的值,因为我们找到了一个匹配的字符t = "long"print(x)得到的结果:True第二题总结:while,这个循环用于检查源字符串s中从位置pos。

2025-02-23 00:57:09 557

原创 python算法-查询区间&经典二分查找问题--Day013

给定一个包含若干个区间的List数组,长度是1000,如[500,1500],[2100,3100]。给定一个number,判断number是否在这些区间内,返回True或False示例:输入List=[[100,1100],[1000,2000],[5500,6500]]和number=6000,输出True,因为6000在区间[5500,6500]输入List=[[100,1100],[2000,3000]]和number=3500,输出False,因为3500不在List的任何一个区间中。

2025-02-22 00:35:12 559

原创 python算法-数组的最大值&找不同--Day012

给定一个浮点数数组,求数组中的最大值示例:输入[1.0,2.1,-3.3],输出2.1.即返回最大的数字returnmaxnum = list[0]#将列表中的第一个元素赋值给 `maxnum`,作为当前找到的最大值。for i in list:#如果当前元素大于 `maxnum`,则更新 `maxnum` 的值为当前元素。这样,每次循环都会检查当前元素是否是新的最大值。maxnum = iprint(a)得到的结果:2.4第二题总结:将字符串t的最后一个字符的 ASCII 值加到。

2025-02-20 17:48:32 397

原创 python算法-首字母大写&比较字符串--Day011

输入一个英文句子,将每个单词的首字母改成大写示例:输入s=“i want to go home”,输出"I Want To Go Home"输入s=“we want to go to school”,输出"We Want To Go To School"a = len(s)b[0] = chr(ord(b[0])-32)#如果是,则将其转换为大写字母。这是通过取字符的 ASCII值减去32for i in range(1,a):#代码遍历字符串的每个字符。

2025-02-19 23:35:39 1196

原创 python算法-简单&进阶大小写转换--Day010

将一个字符由小写字母转换为大写字母示例:输入a,输出A输入b,输出Breturn chr(ord(str)-32)#ASCII码中小写字母与对应的大写字母相差32str = input("请输入大写字母:")print(x)一般通过获取字符的 ASCII 值并减去 32 来进行大小写字母转换。例如,‘a’ 的 ASCII 值是 97,而 ‘A’ 的 ASCII 值是 65,两者之间的差值是 32。因此,通过减去 32 可以将小写字母转换为大写字母。

2025-02-18 22:36:28 633

原创 python算法-不重复的两个数&双胞胎字符串--Day09

给定一个数组a[],其中除了2个数,其他均出现2次,请找到不重复的2个数并返回。示例:给出a=[1,2,5,5,6,6],返回[1,2],除1和2外其他数都出现了2次,因此返回[1,2]ans = [0,0]#创建一个包含两个整数的列表`ans`,初始值都为0。这个列表用于存储最终答案c = 1= c:c = c << 1#过左移操作,代码不断将`c`向左移动直到找到一个位置,使得该位置的位与`ans[0]`中的对应位相同(即都为1)

2025-02-15 23:54:16 573

原创 python算法-下一个更大的数&字符计数--Day08

两个不重复的数组nums1和nums2,其中nums1是nums2的子集。在nums2的相应位置找到nums1所有元素的下一个更大数字。nums1中数字x的下一个更大数字是nums2中x右边第一个更大的数字。如果它不存在,则为此数字输出-1。nums1和nums2中的所有数字都是唯一的,nums1和nums2的长度不超过1000示例:输入nums1 = [4,1,2],nums2=[1,3,4,2],输出[-1,3,-1]

2025-02-14 14:30:29 1023

原创 python算法-勒索信&最长单词--Day07

给定一个表示勒索信内容的字符串和另一个表示杂志内容字符串,写一个方法判断能否剪下杂志中的内容构造出这封勒索信,若可以,返回True,否则返回False。注意:杂志字符串中的每一个字符仅能在勒索信中使用一次。示例:输入str1=“aa”,str2=“aab”,输出True,勒索信的内容可以从杂志内容剪辑而来。arr = [0] * 26#设置长度为26的数组,所有的元素为0for c in str2:#遍历字符串2的每个元素。

2025-02-13 01:54:05 557

原创 python算法-数组第2大数&丢鸡蛋--Day06

在一个数组中找到第2大的数示例:输入[1,3,2,4],数组中第2大的数是3,输出3。输入[1,2],数组中第2大的数是1,输出1for i in range(2,len(num)):#从第三个数字开始遍历整个列表。if num[i] > max11:#如果当前数字大于当前的最大值min11 = max11#更新最大值和最小值elif num[i] > min11:#如果当前数字大于当前的最小值min11 = num[i]#更新最小值print(x)得到的结果:7。

2025-02-11 21:19:53 336

原创 python算法-最接近target的值&点积--Day05

给出一个数组,在数组中找到2个数,使得它们的和最接近但不超过目标值,返回它们的和。示例:输入target=15,array=[1,3,5,11,7],输出14,,1+3=14n = len(arr)#计算列表的长度if n < 2:#如果列表长度小于2,则返回-1return -1arr.sort()#对列表进行排序diff = 0x7ffffff#设置32位有符号整数范围内表示最大的正值,即2147483647。

2025-02-11 09:36:02 455

原创 python算法-字符串中的单词个数&阶乘--Day04

计算字符串中的单词数,其中一个单词定义为不含空格的连续字符串示例:输入“Hello,my name is John”,输出为5res = 0#设置单词数量for i in range(len(s)):#循环字符串的长度if s[i]!= ' ' and(i == 0 or s[i-1] == ' '):#设置条件,当字符串的下标不等于空,同时,满足下标等于0或字符串的下标减一的位置等于空(两个中的一个条件)res += 1#当2个条件都满足了,单词数量加1return res。

2025-02-10 08:24:36 295

原创 python算法-简单&进阶二分查找--Day03

给定一个排序的整数数组(升序)和一个要查找的目标整数target,查找到target第一次出现的下标(从0开始);如果target不存在于数组中,返回-1示例:输入数组[1,4,4,5,7,7,8,9,9,10]和目标整数1,输出其所在的位置为0,即第1次出现在第0个位置def fench(self,nums,target):#参数nums为整数数组,target为目标整数。

2025-02-09 08:41:52 1103

原创 python算法-旋转字符串&相对排名--Day02

给定一个字符串(以字符数组的形式)和一个偏移量,根据偏移量原地从左向右旋转字符串示例:输入str=“abcdefg”,offset=3,输出"efgabcd";输入str=“abcdefg”,offset=1,输出"gabcdef";输入str=“abcdefg”,offset=0,输出"abcdefg";def sol(self,str,offset):#设定功能函数if len(str) > 0:#如果字符串的长度大于0。

2025-02-08 12:05:09 566

原创 python算法-反转&合并排序数组--Day01

增强算法能力,提高编写代码的水平

2025-02-07 22:35:41 518

空空如也

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

TA关注的人

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