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
-
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
-
ソートされた配列を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