lintCode真題実戦-入門問題セット/マトリクス面積/整数ソート
1932 ワード
1.マトリクス面積
行列クラスRectangleを実装し、次のメンバー変数と関数を含みます.
2つの共通のメンバー変数widthとheightは、それぞれ幅と高さを表します.マトリクスの幅と高さを設定するために2つのパラメータwidthとheightを受け入れる構造関数.メンバー関数getAreaは、この行列の面積を返します.サンプル
回答:
2.整数ソート
整数のセットを昇順にソートし、選択ソート、バブルソート、挿入ソート、または任意のO(n 2)のソートアルゴリズムを使用します.
派生:list.sort()
アドレス未変更
sorted()
Pythonの内蔵関数で、使用方法は
以上の2点に基づいて、
行列クラスRectangleを実装し、次のメンバー変数と関数を含みます.
2つの共通のメンバー変数widthとheightは、それぞれ幅と高さを表します.マトリクスの幅と高さを設定するために2つのパラメータwidthとheightを受け入れる構造関数.メンバー関数getAreaは、この行列の面積を返します.サンプル
Python:
rec = Rectangle(3, 4)
rec.getArea()
回答:
class Rectangle: # ,
def __init__(self, width, height): # , self
if width >= 0:
self.width = width
if height >= 0:
self.height = height
def getArea(self):
return self.width * self.height # init ,
2.整数ソート
整数のセットを昇順にソートし、選択ソート、バブルソート、挿入ソート、または任意のO(n 2)のソートアルゴリズムを使用します.
class Solution:
def sortIntegers(self, A):
# write your code here
print('hello')
return A.sort() # return sorted(A)
派生:list.sort()
>>> L = [5,2,3,1,4]
>>> L
[5, 2, 3, 1, 4]
>>> L.sort()
>>> L # ️ ! sort() L ,L
[1, 2, 3, 4, 5]
アドレス未変更
In [73]: mm = [1,3,2]
In [74]: id(mm)
Out[74]: 4466905928
In [75]: mm.sort()
In [76]: mm
Out[76]: [1, 2, 3]
In [77]: id(mm)
Out[77]: 4466905928
sorted()
Pythonの内蔵関数で、使用方法は
list.sort()
とほぼ一致し、2つの場所で異なる.sorted(L)
は、元のLを変更することなく、並べ替えられたLを返す.L.sort()
は元のLに対して操作を行い、呼び出すと元のLは変化し、戻り値はありません.[だからa=a.sort()は間違っている!a=sorted(a)が正しい!sorted()
は任意の反復可能な容器に適用され、list.sort()
はlistのみをサポートする(それ自体がlistの1つの方法である).以上の2点に基づいて、
sorted
はlist.sort()
よりも使用頻度が高いため、Pythonにおけるより高度なソートテクニックはsorted()
によって実証される.>>> Num
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> a = sorted(Num, reverse=True)
>>> a
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
>>> Num
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]