Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonで多数決した候補者をリストするプログラム


numsと呼ばれる番号のリストがあり、各番号が候補者への投票を表すとします。投票数がfloor(n / 3)を超える候補者のIDを、降順ではない順序で見つける必要があります。

したがって、入力がnums =[3、2、6、6、6、6、7、7、7、7、7]のようである場合、6と7は40であるため、出力は[6、7]になります。投票の割合。

これを解決するには、次の手順に従います-

  • ans:=新しい空のセット
  • リスト番号を並べ替える
  • i:=0
  • n:=numsのサイズ
  • i
  • nums [i]がnums>(n / 3)で出現する場合、
    • nums[i]をansに挿入
  • i:=i +(n / 3)
  • ソートされた順序でansを返します
  • 理解を深めるために、次の実装を見てみましょう-

    class Solution:
       def solve(self, nums):
          ans = set([])
          nums.sort()
          i = 0
          n = len(nums)
          while i < len(nums):
             if nums.count(nums[i]) > n // 3:
                ans.add(nums[i])
             i += n // 3
          return sorted(list(ans))
    ob = Solution()
    nums = [3, 2, 6, 6, 6, 6, 7, 7, 7, 7, 7]
    print(ob.solve(nums))

    入力

    [3, 2, 6, 6, 6, 6, 7, 7, 7, 7, 7]

    出力

    [6, 7]

    1. リストを文字列に変換するPythonプログラム

      この記事では、特定の問題ステートメントを解決するための解決策とアプローチについて学習します。 問題の説明 リストを指定すると、文字列型に変換する必要があります。 ここでは、上記の問題ステートメントを解決するための4つの異なるアプローチについて説明します- アプローチ1:空の文字列で連結を使用する。 例 def listToString(s):    # empty string    str1 = ""    # traversal    for ele in s:    

    2. 3Dリストを作成するPythonプログラム。

      3Dリストは3D配列を意味します。このプログラムでは、整数要素を使用して3D配列を作成します。 例 Input: 3× 3 × 2 [[1,1,1],[2,2,2],[3,3,3]], [[4,4,4],[5,5,5],[6,6,6]] アルゴリズム Step 1: given the order of 3D list. Step 2: using for loop we create list and print data. サンプルコード # Python program to created 3D list import pprint def print3D(i,