言語

間の要素の削除

問題 間のnodeだけ与えられたときにそれを削除する 考え方 削除したいnodeが次のnodeに当たるように書き換えれば良い コード例 class Node(): def __init__(self, d): self.data = d self.next = None def appendToTail(self, d): end = Node(d) n = self wh…

後ろからk番目

問題 単方向連結リストにおいて末尾から数えてk番目の要素を返す。 考え方 連結リストの長さがわからないという前提で考える。 ランナーテクニックを利用する。 2つのポインタを用意する。 前からk番目からスタート 初めからスタート 1つ目のポインタが最…

ハノイの塔

問題 ハノイの塔 3つの塔とN枚のサイズの異なる円盤がある。1つの塔から別の塔に移動させる。 1度に1つの円盤しか動かせない。 塔の一番上の円盤だけ移動できる 円盤はそれよりも大きいものの上にしか置けない。 考え方 まずは具体的にやってみる。塔をs…

スタック

スタックの実装です。 スタックのデータ構造はLIFO(後入れ先出し)です。 スタックは以下の操作ができます。 pop: スタックの一番上のデータを削除する push: スタックの一番上にデータを追加する peek: スタックの一番上の要素を返す isEmpty: スタックが…

経路探索

問題 r行c列のグリッドに障害物がいくつかある。左上から右下にいく経路を探索する。ただし、動ける方向は右と下のみ。 考え方 グリッド (i,j)にたどり着けるかどうかをTrue or Falseで格納する。flg[i][j]は左側flg[i][j-1]と上側flg[i-1][j]を見れば到達で…

Kerasメモリ制限

KerasでbackendにTensorlfowを使っていると、GPUメモリを全て食ってしまう。 Kerasのバックエンドに使っているTensoflowに設定を加える。 tf.ConfigProtoで設定を加えたら好きなように制限できる。 以下の設定だと必要な分だけ確保してくれる。 import tenso…

3. 木構造の実装

問題 Given the root to a binary tree, implement serialize(root), which serializes the tree into a string, and deserialize(s), which deserializes the string back into the tree. 実装 再帰的に実装します。Noneでなければ展開するようにしています…

C++エラーメモ

エラー内容 環境:MacOS Mojave 文字列を出力するだけのC++のコードをコンパイル > g++ -std=gnu++11 sample.cpp とすると、以下のwarningが出る warning: section "__textcoal_nt" is deprecated.section __TEXT,__textcoal_nt,coalesced,pure_instructions …

shell, 最大値, 並び替え

やること 例えば以下のようなファイルを考えて、これを1列目の数字が昇順になるように並べます。 sample.txt 13 0.8 48 7.9 33 14.1 63 19.3 25 20.6 14 22.6 29 24.8 68 28 47 32.9 94 35.1 やることはまず1列目の最大値を求めて、次に1列目を並び替えま…