[Python] 数値と数字の変換
数字→数値 組み込み関数intを使います。 組み込み関数intを使わないで書いてみます。 def str_to_int(str_num): # 正と負で変換の開始位置が異なる。 if str_num == '-': s...
Freedom is a responsible choice.
数字→数値 組み込み関数intを使います。 組み込み関数intを使わないで書いてみます。 def str_to_int(str_num): # 正と負で変換の開始位置が異なる。 if str_num == '-': s...
ヨセフスの問題 人の人間が円を描くように並び、処刑されるのを待っている。最初の人をスキップし、さらに \( k-2 \) 人をスキップし(つまり、\( k-1 \) 人をスキップして \(k \)番目の人に到達する)、\(k\)番目の人を処刑する。そしてそこから...
以下を参考にしています。 Data-Structures-using-Python/Linked Lists/DoublyLinkedList.py 双方向リスト 片方向リストは後方向へのリンクだけでしたが、双方向リスト(Doubly-Linked List)...
Pythonでリストを実装します。 以下を参照しています。 Data-Structures-using-Python/Linked Lists/SinglyLinkedList.py 連結リスト(linked list) 連結リストは、データが順番を持...
問題 N×Nの行列があり、左端上から右端下までの通路を探す。道は1壁は0で表される。また、右が下の方向にのみ進むことができる。 例 下の行列であれば、(0, 0) -> (0, 1) -> (1, 1) -> (1, 2) -> (2, 2) -> (...
問題 1または0から成る行列がある。あるセルの上下左右斜め8方向を見る時、同じ数字であればそのセル同士は互いに隣接していて、集団を形成しているとする。互いに隣接している1から成る集団の中で、最も含まれるセルが多い集団を考えた場合、いくつのセルが含まれるかを答えなさ...
問題 0...k-1から作ることのできる長さnの数字の列を全て求めなさい。 回答 def range_to_list(k): result = [] for i in range(k): result.append(str(i)...
問題 N桁のビット列を全て求めなさい。 回答 その1 def apped_zero_one_front(x, L): return def bit_strings(n): if n == 0: return [] ...
ハノイの塔 ハノイの塔(ハノイのとう、Tower of Hanoi)はパズルの一種。バラモンの塔またはルーカスタワー(Lucas' Tower)とも呼ばれる。 ハノイの塔出典: フリー百科事典『ウィキペディア(Wikipedia)』 再帰で良く出てくるア...
問題 D - トランプ挿入ソート 最長増加部分列(LIS)の問題です。 以下、Pythonでの最長増加部分列(LIS)の実装について、とても分かりやすく説明しています。 Qiita 最長増加部分列(LIS)の長さを求める 最長増加部分列の長さ取得ア...