反转一个3位整数
"""
问题:反转一个3位整数
提示:
输入: num = 123
输出: num = 321
输入: num = 900
输出: num = 9
"""
class Python001:
def fanzhuan(self,num):
a = num // 100
b = num % 100 // 10
c = num % 10
print(f'输入{num}')
print(f'输出{(c*100)+(b*10)+a}')
ssc = Python001()
ssc.fanzhuan(325)
合并排序数组
"""
问题:合并两个升序的数组A和B,形成一个新的数组,并且新数组也要排序
sort()默认升序排列,sort(reverse = True)降序排列
"""
class Python002:
def list_sort(self, a, b):
for i in b:
a.append(i)
a.sort()
print(a)
ssc = Python002()
ssc.list_sort([1, 5, 6, 3, 8], [2, 6, 7, 9, 10])
"""
官方给的
class Solution:
#参数A: 有序整数数组A
#参数B: 有序整数数组B
#返回:一个新的有序整数数组
def mergeSortedArray(self, A, B):
i, j = 0, 0
C = []
while i < len(A) and j < len(B):
if A[i] < B[j]:
C.append(A[i])
i += 1
else:
C.append(B[j])
j += 1
while i < len(A):
C.append(A[i])
i += 1
while j < len(B):
C.append(B[j])
j += 1
return C
"""
旋转字符串
"""
问题:给定一个字符串(以字符数组的形式)和一个偏移量,根据偏移量原地从左向右旋转字符串
描述:
输入:str = ‘abcdefg’, offset = 3
输出:str = ‘efgabcd’
输入:str = ‘abcdefg’, offset = 0
输出:str = ‘abcdefg’
输入:str = ‘abcdefg’, offset = 1
输出:str = ‘gabcdef’
7 2 5
7 1 6
7 0 7
"""
class Python003:
def spin_str(self, str1, b):
c = len(str1)
d = str1[(c-b):] + str1[:(c-b)]
print(d)
ssc = Python003()
ssc.spin_str('abcdefg', 1)
相对排名
"""
问题:
根据N名运动员得分,找到相对等级和获得最高分的前3名的人,分别获得金银铜牌,N
是正整数,并且不超过1000,所有运动员的成绩都保证是独一无二的
描述:
输入[5, 4, 3, 2, 1]
输出[‘金牌’, ‘银牌’, ‘铜牌’, 4, 5]
思路:
进入函数先将原有的列表备份一份,然后把输入的列表进行降序排列,
然后再遍历排序后的数组,挨个再备份的列表中获取下标,进行修改
"""
a = 0
class Python004:
def grade_sort(self, list1):
global a
list2 = list1.copy()
list1.sort(reverse = True)
for i in list1:
b = list2.index(i)
a += 1
if a == 1:
list2[b] = '金牌'
elif a == 2:
list2[b] = '银牌'
elif a == 3:
list2[b] = '铜牌'
else:
list2[b] = a
print(list2)
ssc = Python004()
ssc.grade_sort([3, 4, 5, 2, 1, 6, 9, 12, 80])
二分查找
"""
问题:
给定一个排序的整数数组(升序),和一个要查找的目标整数target,查找到target第一次出现的下标(从0开始)
如果target不存在于数组中,则返回-1
描述:
输入【1,2,3,4,5,6,7,8,9】目标整数 1
输出:0
输入【1,2,3,3,5,6,7,8,9】目标整数 3
输出:2
输入【1,2,3,3,5,6,7,8,9】目标整数 10
输出:-1
"""
class Python005:
def search(self, a, b):
c = 0
while c < len(a):
if b == a[c]:
print(c)
break
c += 1
else:
print(-1)
ssc = Python005()
ssc.search([1, 2, 3, 3, 5, 8, 9, 12], 12)