剣指offer-Phython 3版(一)
11190 ワード
剣指offer Python 3版(一)
daily learn
文書ディレクトリ剣指offer Python 3版(一) 2 2 D配列検索 スペース置換 印刷チェーンテーブル 2 D配列検索2 Dはいれつけんさく
Q:1つの2次元配列(各1次元配列の長さは同じ)では、各行が左から右に増加する順に並べ替えられ、各列が上から下に増加する順に並べ替えられる.関数を完了し、このような2次元配列と整数を入力して、配列にその整数が含まれているかどうかを判断してください.
悪いことがあったら大男に指摘してもらいなさい
私の考え方私の策略は最初の数字から右へ探して、頭が着いたら次の列に向かって右へ探し続けて、最後の一人がiとjを混同しました
[[ * * * ]
[ * * * ]
[ * * * ]]
テストはコメントのforループで見ることができます
スペース置換
Q:1文字列の各スペースを「%20」に置き換える関数を実装してください.例えば、文字列がWe Are Happyである.置換後の文字列はWe%20 Are%20 Happy
このeasy
結果表示
チェーンテーブルの印刷
Q:チェーンテーブルを入力し、チェーンテーブルの末尾から順にArrayListを返します.
正直チェーン時計はあまり使ったことがありませんが、簡単ですが
daily learn
文書ディレクトリ
Q:1つの2次元配列(各1次元配列の長さは同じ)では、各行が左から右に増加する順に並べ替えられ、各列が上から下に増加する順に並べ替えられる.関数を完了し、このような2次元配列と整数を入力して、配列にその整数が含まれているかどうかを判断してください.
悪いことがあったら大男に指摘してもらいなさい
私の考え方私の策略は最初の数字から右へ探して、頭が着いたら次の列に向かって右へ探し続けて、最後の一人がiとjを混同しました
[[ * * * ]
[ * * * ]
[ * * * ]]
class Solution:
def find(self, target, array):
"""
@param target:
@param array:
@return:
"""
i = 0 # #
j = 0 #
while True:
if target == array[i][j]: #
return ' %s ' % target
if target < array[i][j]: # ,
return ' %s ' % target
if target > array[i][j]: # array[i][j] ,
if j < len(array[0]) - 1:
j += 1
else: # +1 0
i += 1
j = 0
if i > len(array) - 1: # ,oops!
return ' %s' % target
if __name__ == '__main__':
s = Solution()
#
arr = list(eval(input(' :'))) # eval arr str
tar = int(input(' :'))
#
# tar = 4
# arr = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
#
# for num in range(1, 12):
# print(s.find(num, arr))
print(s.find(tar, arr))
テストはコメントのforループで見ることができます
1
2
3
4
5
6
7
8
9
10
11
スペース置換
Q:1文字列の各スペースを「%20」に置き換える関数を実装してください.例えば、文字列がWe Are Happyである.置換後の文字列はWe%20 Are%20 Happy
このeasy
class Solution:
def replacespace(self, stringing):
"""
@param string:
@return:
"""
if ' ' in stringing:
return stringing.replace(' ', '%20')
else:
return 'no space'
if __name__ == '__main__':
s = Solution()
req = 'Hello World !'
print(s.replacespace(req))
結果表示
Hello%20World%20!
チェーンテーブルの印刷
Q:チェーンテーブルを入力し、チェーンテーブルの末尾から順にArrayListを返します.
正直チェーン時計はあまり使ったことがありませんが、簡単ですが
class Node(object):
"""
"""
def __init__(self, val):
self.val = val
self.next = None
class Solution:
def tailTohead(self, listnode):
"""
@return:
"""
result = []
while listnode:
result.append(listnode.val)
listnode = listnode.next
return result.reverse() # , reverse