Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Double-Array Build
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
jojonki
November 20, 2019
Technology
0
7.3k
Double-Array Build
jojonki
November 20, 2019
Tweet
Share
More Decks by jojonki
See All by jojonki
Network Simplex
jojonki
0
2.9k
Visualizing Receptive Field
jojonki
0
140
Backpropagation Cheet Sheet
jojonki
0
180
Minimum Cost
jojonki
0
7.2k
Double-Array Search
jojonki
0
7.4k
Other Decks in Technology
See All in Technology
What happened to RubyGems and what can we learn?
mikemcquaid
0
250
GitHub Issue Templates + Coding Agentで簡単みんなでIaC/Easy IaC for Everyone with GitHub Issue Templates + Coding Agent
aeonpeople
1
200
Greatest Disaster Hits in Web Performance
guaca
0
140
【5分でわかる】セーフィー エンジニア向け会社紹介
safie_recruit
0
42k
ブロックテーマでサイトをリニューアルした話 / 2026-01-31 Kansai WordPress Meetup
torounit
0
460
Context Engineeringの取り組み
nutslove
0
320
外部キー制約の知っておいて欲しいこと - RDBMSを正しく使うために必要なこと / FOREIGN KEY Night
soudai
PRO
12
5.2k
OCI Database Management サービス詳細
oracle4engineer
PRO
1
7.4k
モダンUIでフルサーバーレスなAIエージェントをAmplifyとCDKでサクッとデプロイしよう
minorun365
4
170
ClickHouseはどのように大規模データを活用したAIエージェントを全社展開しているのか
mikimatsumoto
0
210
AI駆動開発を事業のコアに置く
tasukuonizawa
1
100
茨城の思い出を振り返る ~CDKのセキュリティを添えて~ / 20260201 Mitsutoshi Matsuo
shift_evolve
PRO
1
220
Featured
See All Featured
Evolving SEO for Evolving Search Engines
ryanjones
0
120
Faster Mobile Websites
deanohume
310
31k
AI: The stuff that nobody shows you
jnunemaker
PRO
2
250
jQuery: Nuts, Bolts and Bling
dougneiner
65
8.4k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
4 Signs Your Business is Dying
shpigford
187
22k
The Cult of Friendly URLs
andyhume
79
6.8k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
34k
WCS-LA-2024
lcolladotor
0
450
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
110
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.4k
Imperfection Machines: The Place of Print at Facebook
scottboms
269
14k
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