アルゴリズムコア

Algorithms Core


Easy ~ Medium

通常価格:

各レクチャー(章)

1万円

    合計10レクチャー


お支払いは
Stripe
によって保護されています

レクチャー特色

テーマ別合計10~15時間のビデオレクチャー

頻出テーマの重要ポイント
問題を解くための必須テクニック
代表的な例題の解説
バグゼロに繋がるコードの書き方、サンプルコード

対象:
アルゴリズム初心者〜中級
効率的にコーディング面接の準備をしたい

シラバス

最新リリース、第四章 木構造と再帰(分割統治法、深さ優先探索、バックトラッキング)

レクチャー1 努力の成果を最大化する、ゴールと戦略
1時間20分

ゴールを知る
 採用・面接の流れ、採点基準、レベルによって期待値の違い
 最適解の他に大事なポイント(良いコードクォリティとは、バグフリー、スピード)
 例題で本番シミュレーション
戦略を立てる
 ロードマップ、テーマ別勉強のコスパ、やらなくても良い範囲
 会社別傾向
 効率最大化の勉強法、面接で使う英語と短時間で上達する方法
役にたつウェブサイト
 levels.fyi、Glassdoor、Leetcodeを最大限活用する術

などコーディング面接に必要なすべての情報・戦略!

レクチャー2 計算量Big Oとデータ構造1
2時間20分
時間的計算量と空間的計算量
メモリーと変数
ADT(抽象的データタイプ)の区別
配列と連結リスト
メモリー内でどうなっている?
ハッシュテーブル
 ハッシュテーブルの原理
 ハッシュ関数とは
 ハッシュ衝突をどう解決するのか
スタック・キューの原理
実践例題 8問 解説・ライブコーディング
Leetcode 21 Merge 2 Sorted Lists (二つのリストをマージする)
Leetcode 206 Reverse Linked List (リストを反転する)
Leetcode 141 Linked List Cycle (リストでサイクルを検出する)
Leetcode 1 Two Sum        (二つの数の和)
Leetcode 20 Valid Parentheses (括弧の有効性、スタック)
Leetcode 49 Group Anagrams (アナグラムをグループ化する)
Leetcode 155 Min Stack  (最小値を返すスタックのデザイン)
Leetcode 146 LRU Cache  (LRUキャッシュのデザイン)
さらに、関連良問 6問 模範コード&ヒント付き!
レクチャー3 頻出:二つのポインタを一気にマスターする!
2時間14分
実践例題 9問 解説・ライブコーディング
二つのポインタの基本的な考え
2 Sum系
Leetcode 167 Two Sum II - Input Array Is Sorted (二つの数の和 配列がソートされている場合)
Leetcode 15 3Sum(三つの数の和)
Leetcode 16 3Sum Closest(もっとも近い三つの数の和)
Leetcode 18 4Sum (四つの数の和、k個の数の和)
パーテション系
Leetcode 283 Move Zeroes (ゼロを移動する)
Leetcode 283 Sort Colors (色を分ける、オランダ国旗色問題)
スライディングウィンドウ系
Leetcode 3 Longest Substring Without Repeating Characters (最長な重複文字なしの部分文字列)
Leetcode 11 Container With Most Water (最も多く水が入る容器)
回文系
Leetcode 5 Longest Palindromic Substring (最長回文部分文字列)
さらに、関連良問 5 問 模範コード&ヒント付き!

レクチャー4 木構造と再帰

2時間25分
木構造の基本(用語、Traversal)
再帰
 コールスタック
 再帰の掟
分割統治法/深さ優先探索
Leetcode 104 Maximum Depth of Binary Tree 二分木の最大の高さ
Leetcode 543 Diameter of Binary Tree 二分木の直径
Leetcode 110 Balanced Binary Tree 平衡二分木
Leetcode 236 Lowest Common Ancestor of a Binary Tree 二分木の最小祖先
Leetcode 105 Construct Binary Tree from Inorder and Preorder - InorderとPreorderから二分木を構築する
Leetcode 215 Kth Largest Element in an Array — quick select - K番目に大きい要素
バックトラッキング
Leetcode 39 Combination Sum
Leetcode 46 Permutations
Leetcode 78 Subsets
レクチャー5 二分探索
基本:整列された配列での二分探索
無限ループにならないための書き方
二分探索の計算量の導き方
答えで二分探索する
例題:koko eats banana
レクチャー6 再帰
再帰とコールスタック
再帰関数を書くための3つの掟
レクチャー7 幅優先探索 BFS
幅優先探索の基本
queueを使った幅優先探索の実装
レクチャー8 木構造・分割統治法
分割統治法はどういう問題に適するか
グローバル変数を避けるには
分割統治法の書き方
例題:Same Tree
レクチャー9 深さ優先探索DFS・バックトラッキング
BFS vs DFS
DFSとメモ化
バックトラッキングはどういう問題に使うのか
例題:N queens
レクチャー10 動的計画法
状態と遷移
状態をうまく見つける秘訣
例題:Climb Stairs