2022.9.1
给出一个有序的整数数组 A 和有序的整数数组 B ,请将数组 B 合并到数组 A 中,变成一个有序的升序数组
python实现思路
(1): 新建一个列表,然后对比两数组的大小,然后插入到新的数组中
2022.9.4:
abby总是在通过卡牌的交换位置来获得1,2,3….N的序列。假如初始序列是2、3、5、4、1,我们就可以按照以下方式对它们进行排序:
初始状态:2 3 5 4 1
第一次后:1 3 5 4 2
第二次后:1 3 2 4 5
第三次后:1 2 3 4 5
所以,这里小abby对卡牌进行了三次交换。
输入,[2,3,5,4,1],输出3
python实现思路:
(1):遍历一遍数组长度,获取每个位置对应的数的索引,然后进行交换,统计交换次数,碰到相邻的两个数就跳过。
(2):先对数组进行排序,然后和未排序的数组进行比较,确定需要交换的次数
2022.9.7
给定一个整数数组 nums 和一个目标值 target ,找出数组中和为目标值的两个数,并返回它们的数组下标。
假设每个输入只对应一种答案,且同样的元素不能被重复利用。
解题思路:
新建一个字典,然后用数组中的值和索引建立字典,再遍历数组,判断差值是不是在字典中,从而获得索引。
2022.9.17
小红和小紫拿到了一个正整数x,她们每次可以选择x的一个因子k(k>1),把x除以k,但要求k必须是素数。 小红先手,谁先不能操作谁输。假设两人都足够聪明,最终谁取得胜利? 共进行t次游戏。 输入描述: 第一行输入一个正整数t,代表游戏的轮数。 接下来的行,每行输入一个正整数x,代表小红和小紫拿到的正整数
for _ in range(int(input())): x = int(input()) c = 0 while x % 2 == 0: c += 1 x //= 2 for i in range(3, 100001, 2): if x == 1: break while x % i == 0: c += 1 x //= i if x > 1: c += 1 print('kou' if c & 1 else "yukari")
版权声明:本文为m0_73786666原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。