本专栏主要记录力扣的刷题记录,备战蓝桥杯,供复盘和优化算法使用,也希望给大家带来帮助,博主是算法小白,希望各位大佬不要见笑,今天要分享的是——《力扣刷题记录——1078. Bigram 分词、1207. 独一无二的出现次数 、1089. 复写零》。
目录
1078. Bigram 分词
题目描述
解题思路
解题代码
1207. 独一无二的出现次数
题目描述
解题思路
解题代码
1089. 复写零
题目描述
解题思路
解题代码
1078. Bigram 分词
题目描述
给出第一个词
first和第二个词second,考虑在某些文本text中可能以"first second third"形式出现的情况,其中second紧随first出现,third紧随second出现。对于每种这样的情况,将第三个词 "
third" 添加到答案中,并返回答案。示例 1:
输入:text = "alice is a good girl she is a good student", first = "a", second = "good" 输出:["girl","student"]示例 2:
输入:text = "we will we will rock you", first = "we", second = "will" 输出:["we","rock"]
解题思路
用for循环遍历,利用索引与给定字符串的比较关系,找出正确答案添加到列表中,最后返回最终列表。
解题代码
def findOcurrences(text: str, first: str, second: str) -> list[str]:
result = []
text_list = text.split(" ")
for i in range(len(text_list)-2):
if text_list[i] == first and text_list[i+1] == second:
result.append(text_list[i+2])
return result
1207. 独一无二的出现次数
题目描述
给你一个整数数组
arr,请你帮忙统计数组中每个数的出现次数。如果每个数的出现次数都是独一无二的,就返回
true;否则返回false。示例 1:
输入:arr = [1,2,2,1,1,3] 输出:true 解释:在该数组中,1 出现了 3 次,2 出现了 2 次,3 只出现了 1 次。没有两个数的出现次数相同。示例 2:
输入:arr = [1,2] 输出:false示例 3:
输入:arr = [-3,0,1,-3,1,1,1,-3,10,0] 输出:true
解题思路
将所有元素的次数添加到指定列表中,如果set一下长度不变则返回True,否则返回False
解题代码
def uniqueOccurrences(arr: list[int]) -> bool:
result = []
for i in list(set(arr)):
result.append(arr.count(i))
if len(set(result)) == len(result):
return True
else:
return False
1089. 复写零
题目描述
给你一个长度固定的整数数组
arr,请你将该数组中出现的每个零都复写一遍,并将其余的元素向右平移。注意:请不要在超过该数组长度的位置写入元素。请对输入的数组 就地 进行上述修改,不要从函数返回任何东西。
示例 1:
输入:arr = [1,0,2,3,0,4,5,0] 输出:[1,0,0,2,3,0,0,4] 解释:调用函数后,输入的数组将被修改为:[1,0,0,2,3,0,0,4]示例 2:
输入:arr = [1,2,3] 输出:[1,2,3] 解释:调用函数后,输入的数组将被修改为:[1,2,3]
解题思路
难点在于原地操作,既只能在原来的内存中修改。首先是加0操作,然后是去除多余元素的操作。这两操作只能在原地修改。
解题代码
def duplicateZeros(arr: list[int]):
arr_copy = arr[::]
length = len(arr_copy)
count = 0
for i in range(0, len(arr_copy)):
if arr_copy[i] == 0:
count +=1
arr.insert(i+ count, 0)
arr.reverse()
arr_length = len(arr)
arr_copy_2 = arr[::]
for i in range(arr_length):
if len(arr) == length:
break
else:
arr.remove(arr_copy_2[i])
arr.reverse()




















