MySQLのこと。

MySQLのことについてまとめているブログ。他人に見せる用でもなく、自分の勉強備忘録。検索インデックスも外してるので、辿りついた方・・・ようこそ。そんな大した情報ないですよ?!たまにアルゴリズムの練習も

2021-02-01から1ヶ月間の記事一覧

リストのお尻に0を移動させる問題

問題 今日はMove all zeroes to end of arrayの問題にチャレンジする。この問題は、ランダムな値をもつリストの要素の順番を並び替える問題で、0以外を前に移動させ、0は後ろに移動させる問題。 Input : [1, 9, 8, 4, 0, 0, 2, 7, 0, 6, 0, 9] Output: [1, 9…

正負の値を含むリストの要素を正負交互に並び替える

問題 今日はRearrange positive and negative numbers in O(n) time and O(1) extra spaceの問題にチャレンジする。 この問題は、正の数と負の数の両方がランダムな順序で含まれていて、正の数と負の数が交互に配置されるように要素を並び替える問題。正の数…

リストの要素をリバースする問題

問題 今日はWrite a program to reverse an array or stringの問題にチャレンジする。この問題は、リストの要素をリバースする問題。 Input : [1, 2, 3] Output: [3, 2, 1] Input : [4, 5, 1, 2] Output: [2, 1, 5, 4] 実装 基本的な方針は、start, endの2つ…

リストの要素を再配置する問題

問題 今日はRearrange an array such that arr[i] = iの問題にチャレンジする。この問題は、0からn–1の範囲の長さnの要素のリストがあり、List[i]=iとなるように配列を再配置する。すべての要素が配列に存在するとは限らないので、要素が存在しない場合、配…

リストを分割し、最初の部分を最後にくっつける

問題 今日はSplit the arrays and add the first part to the endの問題にチャレンジ。これは、指定されたkのインデックスの位置でリストを分割し、それらをスワップして、最初の部分をリストのお尻に持ってくるという問題。 Input: [12, 10, 5, 6, 52, 36] …

ローテションしたリストから指定されたインデックスの要素を検索する

問題 今日はFind element at given index after a number of rotationsにチャレンジする。 この問題はローテションさせる複数の範囲がネストされたリストで渡されるので、その範囲をローテションさせて、指定されたインデックスの要素を検索する問題。下記の…

dequeを使ったリストのローテション

問題 今日はPrint left rotation of array in O(n) time and O(1) spaceの問題に挑戦する。今までチャレンジしてきたローテション問題をdequeを使って解く方法でチャレンジする。 k = 3 Input: [1, 3, 5, 7, 9] output: [7, 9, 1, 3, 5] まずは基本的なロー…

リストをローテーションさせて ハミング距離の最大値を見つけるアルゴリズム

問題 今日はFind a rotation with maximum hamming distanceに挑戦する。この問題は、リストをローテーションさせて ハミング距離の最大値を見つけるという問題。ハミング距離というのは、等しい文字数を持つ二つの文字列の中で、対応する位置にある異なった…

ローテーションされたソート済みリストから最小の要素を見つける

問題 今日はFind the minimum element in a sorted and rotated arrayの問題。ソートとローテーションされたリストから最小の要素を見つける問題。ローテーション回数はわかりません。 input: [5,6,1,2,3,4] output: 1 実装 ポイントは最小の要素は、1個前の…

指定した回数分、リストをローテーションさせる

問題 今回はQuickly find multiple left rotations of an arrayにあるリストの並びを指定した回数 k回ローテーションさせる問題を勉強する。具体的には下記のようなリストがあったときに、kで指定した数値分リストを回転させることが目的。 k = 3 Input : [1…

リストの中の重複を確認する

問題 今回の問題はリストの中の要素を検索し、重複しているものがあれば、そのタイミングでTrueを返すアルゴリズム。重複する要素がなければFalseを返す。 input: [1,2,3,1] output: true 実装 方針としては、ディクショナリーに値を格納していき、要素をル…

ハノイの塔にチャレンジする

問題 今回はハノイの塔にチャレンジする。この問題は再帰を実装できれば解くことができるとのこと。ハノイの塔については、下記の動画を参考にしました。 ハノイの塔は最短で何手かかるか? コーディングインタビュー解説!ハノイの塔を解き明かせ! Tower o…