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

Pythonの高さチェッカー


写真を撮るために、生徒のセットを身長の高い順に並べる必要があるとします。多数の生徒がいる場合は、正しい位置にいない生徒の最小数を返す必要があります。したがって、配列が[1、1、4、2、1、3]の場合、出力は3になります。したがって、高さが4、3、最後の1の生徒は正しい位置に立っていません。

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

  • 回答:=0
  • let x:=ソートされた形式の配列
  • ley y:=配列
  • for i:=0から配列のサイズ– 1 −
    • x[i]がy[i]と同じでない場合は、回答を1増やします
  • 回答を返す

理解を深めるために、次の実装を見てみましょう-

class Solution(object):
   def heightChecker(self, heights):
      ans = 0
      x = sorted(heights)
      y = heights
      for i in range(len(x)):
         if x[i]!=y[i]:
            ans+=1
      return ans
ob1 = Solution()
print(ob1.heightChecker([1,2,4,2,1,3]))

入力

[1,1,4,2,1,3]

出力

4

  1. Pythonで配列を回転

    配列Aがあるとします。kステップ右に回転する必要があります。したがって、配列がA =[5、7、3、6、8、1、5、4]、およびk =3の場合、出力は[1,5,4,5,7,3,6、 8]。手順は次のようなものです [4,5,7,3,6,8,1,5] [5,4,5,7,3,6,8,1] [1,5,4,5,7,3,6,8] これを解決するために、次の手順に従います。 nは配列のサイズです k =k mod n A =n –kからendまでのAのサブアレイ+0からn– k –1までのAのサブアレイ 理解を深めるために、次の実装を見てみましょう- 例 class Solut

  2. ソートされた配列をPythonでマージ

    2つの並べ替えられた配列AとBがあるとします。それらをマージして、1つの並べ替えられた配列Cのみを形成する必要があります。リストのサイズは異なる場合があります。 たとえば、A=[1,2,4,7]およびB=[1,3,4,5,6,8]とすると、マージされたリストCは[1,1,2,3,4、 4,5,6,7,8] これを解決するには、次の手順に従います- ifine i:=0、j:=0 and end:=length of A – 1 =0であり、A[end]ではありません。 end:=end – 1 whilej