本专栏主要记录力扣的刷题记录,备战蓝桥杯,供复盘和优化算法使用,也希望给大家带来帮助,博主是算法小白,希望各位大佬不要见笑,今天要分享的是——《力扣刷题记录——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()