LeetCodeの26番目の問題の解決方法
LeetCodeはコーディング面接に向けた練習に使えるサイトです。自分が勉強した知識を利用して問題を解決することで学習効果を高めるためです。
-
要求:指定されたソート後の配列中の重複要素を削除する
-
出力:新しい配列と配列の長さ
-
サンプル1:
- 指定された配列:nums = [1,1,2]
- 出力結果:New_nums = [1,2], length = 2
-
サンプル2:
- 指定された配列:nums = [0,0,1,1,1,2,2,3,3,4],
- 出力結果:New_nums = [0,1,2,3,4], length = 5
leetcode_00026.py
import random
nums =[] #配列初期化
# ランダム関数で指定範囲の配列を作成する(重複あり)
for i in range(15):
nums.append(random.randint(1,10))
# 配列の要素をソートする
nums.sort()
print(nums[:])
# 重複要素を削除する
for _ in nums:
#最後の要素の場合for_loopから抜ける
if nums.index(_) == len(nums)-1:
break
#該当要素の次の要素が一致する場合、該当要素を削除する
elif _ == nums[nums.index(_)+1]:
nums.pop(nums.index(_))
continue
# 結果を出力する
print("リスト",nums[:], "の長さは",len(nums))