Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Double-Array Build
Search
jojonki
November 20, 2019
Technology
0
7.2k
Double-Array Build
jojonki
November 20, 2019
Tweet
Share
More Decks by jojonki
See All by jojonki
Network Simplex
jojonki
0
2.8k
Visualizing Receptive Field
jojonki
0
140
Backpropagation Cheet Sheet
jojonki
0
170
Minimum Cost
jojonki
0
7.1k
Double-Array Search
jojonki
0
7.3k
Other Decks in Technology
See All in Technology
Security Diaries of an Open Source IAM
ahus1
0
130
品質のための共通認識
kakehashi
PRO
3
220
Haskell を武器にして挑む競技プログラミング ─ 操作的思考から意味モデル思考へ
naoya
4
880
re:Invent 2025 ~何をする者であり、どこへいくのか~
tetutetu214
0
130
乗りこなせAI駆動開発の波
eltociear
1
1k
【pmconf2025】PdMの「責任感」がチームを弱くする?「分業型」から全員がユーザー価値に本気で向き合う「共創型開発チーム」への変遷
toshimasa012345
0
270
Snowflakeでデータ基盤を もう一度作り直すなら / rebuilding-data-platform-with-snowflake
pei0804
2
780
AI時代の開発フローとともに気を付けたいこと
kkamegawa
0
2.3k
MapKitとオープンデータで実現する地図情報の拡張と可視化
zozotech
PRO
1
120
5分で知るMicrosoft Ignite
taiponrock
PRO
0
220
LLM-Readyなデータ基盤を高速に構築するためのアジャイルデータモデリングの実例
kashira
0
210
Oracle Technology Night #95 GoldenGate 26ai の実装に迫る1
oracle4engineer
PRO
0
150
Featured
See All Featured
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.3k
GraphQLとの向き合い方2022年版
quramy
50
14k
Docker and Python
trallard
47
3.7k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
54k
How to Think Like a Performance Engineer
csswizardry
28
2.4k
Java REST API Framework Comparison - PWX 2021
mraible
34
9k
Mobile First: as difficult as doing things right
swwweet
225
10k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
24k
The Pragmatic Product Professional
lauravandoore
37
7.1k
Navigating Team Friction
lara
191
16k
Being A Developer After 40
akosma
91
590k
Statistics for Hackers
jakevdp
799
230k
Transcript
0 0 0 0 0 0 0 0 0 0
0 0 base check index 1 2 5 4 6 3 จࣈίʔυ #: 0 a: 1 b: 2 c: 3 ޠኮࣙॻ a bc ߏஙͯ͠ΈΑ͏ʂ 0 0 7
0 0 0 0 0 0 0 0 0 0
0 0 base check index 1 2 5 4 6 3 จࣈίʔυ #: 0 a: 1 b: 2 c: 3 ޠኮࣙॻ a bc “a#”Λొʂ base[1] >= 1ͷ݅Ͱɼ base[1]+code(a) == ະ༻index Λ୳͢ base0ະ༻Λද͢ͷͰ 1Ҏ্Ληοτ͢Δඞཁ͕͋Δ 0 0 7
1 0 0 0 0 0 0 0 0 0
0 0 base check index 1 2 5 4 6 3 จࣈίʔυ #: 0 a: 1 b: 2 c: 3 ޠኮࣙॻ a bc “a#”Λొʂ base[1] == 1ͷ࣌ɼbase[1]+code(a) == 2 index 2ະ༻ͳͷͰOK! 0 0 7
1 0 0 0 0 0 0 0 0 0
0 1 base check index 1 2 5 4 6 3 จࣈίʔυ #: 0 a: 1 b: 2 c: 3 ޠኮࣙॻ a bc “a#”Λొʂ index 1͕ભҠݩͳͷͰɼcheck[2]=1Ληοτ 0 0 7
1 0 0 0 0 0 0 0 0 0
0 1 base check index 1 2 5 4 6 3 จࣈίʔυ #: 0 a: 1 b: 2 c: 3 ޠኮࣙॻ a bc “a#”Λొʂ aͷ࣍ऴจࣈ#Λొ͢Δ base[2] >= 1ͷ݅Ͱɼbase[2]+code(#) == ະ༻index Λ୳͢ 0 0 7
1 0 0 0 0 3 0 0 0 0
0 1 base check index 1 2 5 4 6 3 จࣈίʔυ #: 0 a: 1 b: 2 c: 3 ޠኮࣙॻ a bc “a#”Λొʂ base[2] == 3ͷ࣌ɼbase[2]+code(#) == 3 index 3ະ༻ͳͷͰOK! 0 0 7
1 0 0 0 0 3 0 0 0 0
2 1 base check index 1 2 5 4 6 3 จࣈίʔυ #: 0 a: 1 b: 2 c: 3 ޠኮࣙॻ a bc “a#”Λొʂ Index 2͕ભҠݩͳͷͰɼcheck[3]=2Ληοτ 0 0 7
1 0 0 0 -1 3 0 0 0 0
2 1 base check index 1 2 5 4 6 3 จࣈίʔυ #: 0 a: 1 b: 2 c: 3 ޠኮࣙॻ a bc “a#”Λొʂ ऴจࣈΛొͨ͠ͷͰ baseΛ-1ʹͯ͠ऴྃ base0ະ༻index baseΛ-1ऴϊʔυΛҙຯ͢Δ 0 0 7
1 0 0 0 -1 3 0 0 0 0
2 1 base check index 1 2 5 4 6 3 จࣈίʔυ #: 0 a: 1 b: 2 c: 3 ޠኮࣙॻ a bc “bc#”Λొʂ base[1]طʹηοτࡁΈͳͷͰ Index (base[1]+code(b))͕ະ༻or check͕ਖ਼͍͔͠νΣοΫ 0 0 7
1 0 0 0 -1 3 0 0 0 0
2 1 base check index 1 2 5 4 6 3 จࣈίʔυ #: 0 a: 1 b: 2 c: 3 ޠኮࣙॻ a bc “bc#”Λొʂ check[3] != 1ͳͷͰବʂίϯϑϦΫτ͕ൃੜ… base[1]Γ͠ 0 0 7
1 0 0 0 -1 3 0 0 0 0
2 1 base check index 1 2 5 4 6 3 จࣈίʔυ #: 0 a: 1 b: 2 c: 3 ޠኮࣙॻ a bc “bc#”Λొʂ index 1Λʹ࣋ͭϊʔυΛͯ͢୳͢ index 2͕֘ 0 0 7
1 0 0 0 -1 3 0 0 0 0
2 1 base check index 1 2 5 4 6 3 จࣈίʔυ #: 0 a: 1 b: 2 c: 3 ޠኮࣙॻ a bc “bc#”Λొʂ 2 (index൪߸) - check[2] = 1 == code(a) ͭ·Γindex 2ɼindex 1͔ΒaΛొͨ͠ભҠ 0 0 7
0 0 0 0 -1 3 0 0 0 0
2 1 base check index 1 2 5 4 6 3 จࣈίʔυ #: 0 a: 1 b: 2 c: 3 ޠኮࣙॻ a bc “bc#”Λొʂ ΑͬͯɼaͱbΛindex 1͔Βొ͢Δඞཁ͕͋Δ base[1]Λ·ͣ0Ϧηοτʂ aͷݩભҠઌޙͰ͏ͷͰ͓֮͑ͯ͘ 0 0 7
? 0 0 0 -1 3 0 0 0 0
2 1 base check index 1 2 5 4 6 3 จࣈίʔυ #: 0 a: 1 b: 2 c: 3 ޠኮࣙॻ a bc “bc#”Λొʂ base[1] >= 1ͷ݅Ͱɼbase[1]+code(a) ͱbase[1]+code(b)͕ ͍ͣΕະ༻ͳindexͱͳΔΛ୳͢ 0 0
3 0 0 0 -1 3 0 1 0 1
2 1 base check index 1 2 5 4 6 3 จࣈίʔυ #: 0 a: 1 b: 2 c: 3 ޠኮࣙॻ a bc “bc#”Λొʂ base[1] = 3ͱ͢Δͱɼa, b͍ͣΕొͰ͖ͦ͏ͩ bͷભҠ aͷભҠ 0 0 7
3 0 0 3 -1 3 0 1 0 1
2 1 base check index 1 2 5 4 6 3 จࣈίʔυ #: 0 a: 1 b: 2 c: 3 ޠኮࣙॻ a bc “bc#”Λొʂ a͕͚มΘͬͨͷͰɼݩભҠઌ͔ΒbaseΛίϐʔ aͷݩભҠઌ aͷ৽ભҠઌ 0 0 7
3 0 0 3 -1 3 0 1 0 1
2 1 base check index 1 2 5 4 6 3 จࣈίʔυ #: 0 a: 1 b: 2 c: 3 ޠኮࣙॻ a bc “bc#”Λొʂ aͷݩભҠઌΛʹ࣋ͭϊʔυΛͯ͢୳͢ index 3͕֘ aͷݩભҠઌ aͷ৽ભҠઌ 0 0 7
3 0 0 3 -1 3 0 1 0 1
4 1 base check index 1 2 5 4 6 3 จࣈίʔυ #: 0 a: 1 b: 2 c: 3 ޠኮࣙॻ a bc “bc#”Λొʂ aindex 4ʹҠͬͨͷͰɼ ϊʔυͷॴʢcheckʣΛ4ʹߋ৽ aͷݩભҠઌ aͷ৽ભҠઌ 0 0 7
3 0 0 3 -1 0 0 1 0 1
4 0 base check index 1 2 5 4 6 3 จࣈίʔυ #: 0 a: 1 b: 2 c: 3 ޠኮࣙॻ a bc “bc#”Λొʂ aͷݩભҠઌͷbaseͱcheck ৽ભҠઌʹҠߦͰ͖ͨͷͰϦηοτ ͜ΕͰίϯϑϦΫτΛղফͰ͖ͨ aͷݩભҠઌ aͷ৽ભҠઌ 0 0 7
3 0 0 3 -1 0 0 1 0 1
4 0 base check index 1 2 5 4 6 3 จࣈίʔυ #: 0 a: 1 b: 2 c: 3 ޠኮࣙॻ a bc “bc#”Λొʂ ొ࡞ۀʹΔ b·ͰొͰ͖͍ͯͨͷͰcΛొ bͷભҠઌ 0 0 7
3 0 0 3 -1 0 0 1 0 1
4 0 base check index 1 2 5 4 6 3 จࣈίʔυ #: 0 a: 1 b: 2 c: 3 ޠኮࣙॻ a bc “bc#”Λొʂ base[5] >= 1ͷ݅Ͱɼ base[5]+code(c) == ະ༻index Λ୳͢ 0 0 7
3 3 0 3 -1 0 0 1 0 1
4 0 base check index 1 2 5 4 6 3 จࣈίʔυ #: 0 a: 1 b: 2 c: 3 ޠኮࣙॻ a bc “bc#”Λొʂ base[5] == 3ͷ࣌ɼbase[5]+code(c) == 6 index 6ະ༻ͳͷͰOK! 0 0 7
3 3 0 3 -1 0 0 1 5 1
4 0 base check index 1 2 5 4 6 3 จࣈίʔυ #: 0 a: 1 b: 2 c: 3 ޠኮࣙॻ a bc “bc#”Λొʂ index 5͕ભҠݩͳͷͰɼcheck[6]=7Ληοτ 0 0 7
3 3 0 3 -1 0 0 1 5 1
4 0 base check index 1 2 5 4 6 3 จࣈίʔυ #: 0 a: 1 b: 2 c: 3 ޠኮࣙॻ a bc “bc#”Λొʂ base[6] >= 1ͷ݅Ͱɼ base[6]+code(#) == ະ༻index Λ୳͢ 0 0 7
3 3 7 3 -1 0 0 1 5 1
4 0 base check index 1 2 5 4 6 3 จࣈίʔυ #: 0 a: 1 b: 2 c: 3 ޠኮࣙॻ a bc “bc#”Λొʂ base[6] == 7ͷ࣌ɼbase[6]+code(#) == 6 index 6ະ༻ͳͷͰOK! 0 0 7
6 3 3 7 3 -1 0 0 1 5
1 4 0 base check index 1 2 5 4 6 3 จࣈίʔυ #: 0 a: 1 b: 2 c: 3 ޠኮࣙॻ a bc “bc#”Λొʂ check[7]ʹભҠݩindex 6Ληοτ ऴจࣈͳͷͰbase[7]ʹ-1Ληοτͯ͠ऴྃ -1 7