[python algorithm]
質問する
数値配列numsをパラメータとして渡します.
数字のうち半数を超える(多数、半を超える)数字を返してください.
たとえば、nums = [3,2,3]
return 3
nums = [2,2,1,1,1,2,2]
return 2
家庭
nums配列の長さは2つ以上でなければなりません
solution1.
def more_than_half(nums): # a = {}
# for i in nums:
# if i not in a:
# a[i] = 1
# else:
# a[i] += 1
# max_num = max(a.values())
# for i in a.keys():
# if a[i] == max_num:
# return i
solution2.
def more_than_half(nums):
for i in range(len(nums)):
check[nums[i]] += 1
return check.index(max(check)) if max(check) > len(nums) // 2 else 0
solution3.
def more_than_half(nums):
for num in nums:
if nums.count(num) > len(nums) // 2: #len(nums)//2를 하는 이유는 과반수
return num
3日は本当に短いですね.大きな箱...アルゴリズム給油...
Reference
この問題について([python algorithm]), 我々は、より多くの情報をここで見つけました
https://velog.io/@hyeyoonc/python-algorithm
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
nums = [3,2,3]
return 3
nums = [2,2,1,1,1,2,2]
return 2
nums配列の長さは2つ以上でなければなりません
solution1.
def more_than_half(nums):
# a = {}
# for i in nums:
# if i not in a:
# a[i] = 1
# else:
# a[i] += 1
# max_num = max(a.values())
# for i in a.keys():
# if a[i] == max_num:
# return i
solution2.
def more_than_half(nums):
for i in range(len(nums)):
check[nums[i]] += 1
return check.index(max(check)) if max(check) > len(nums) // 2 else 0
solution3.
def more_than_half(nums):
for num in nums:
if nums.count(num) > len(nums) // 2: #len(nums)//2를 하는 이유는 과반수
return num
3日は本当に短いですね.大きな箱...アルゴリズム給油...Reference
この問題について([python algorithm]), 我々は、より多くの情報をここで見つけました https://velog.io/@hyeyoonc/python-algorithmテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol