Skip to content

Commit c96de28

Browse files
committed
Address review feedback: fix README examples, types, HTML, and handle p=2 edge case
1 parent ede905b commit c96de28

4 files changed

Lines changed: 324 additions & 386 deletions

File tree

JavaScript/2624. Snail Traversal/Claude Code Sonnet 4.5/README.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,6 @@ graph LR
139139
| 基本版(Array.from) | ~158ms | ~69MB | 可読性高、標準的 |
140140
| 最適化版(ビット演算) | 154ms | 69.54MB | ビット演算で高速化 |
141141
| 高速化版(変数キャッシング) | 158ms | 69.10MB | 更なる高速化 |
142-
| メモリ最優先版 | 148ms | 67.10MB | メモリ効率最大化 |
143142

144143
_\*数値は特定環境での測定例です_
145144

@@ -338,7 +337,7 @@ const lastRow = rows - 1;
338337
5. **空配列**
339338

340339
```typescript
341-
[].snail(1, 0); // → [] (入力サイズ 0)
340+
[].snail(0, 0); // → [] (1×1=1 ≠ 0のため空配列を返す)
342341
```
343342

344343
6. **標準ケース(偶数列)**

JavaScript/2624. Snail Traversal/Claude Code Sonnet 4.5/README_react.html

Lines changed: 18 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -251,8 +251,10 @@ <h3 class="text-xl font-semibold text-teal-800 mt-6 mb-3">戦略のポイント<
251251
TypeScript実装(最適化版)
252252
</h2>
253253

254-
<pre class="line-numbers"><code class="language-typescript">declare interface Array<T> {
255-
snail(rowsCount: number, colsCount: number): T[][];
254+
<pre class="line-numbers"><code class="language-typescript">declare global {
255+
interface Array&lt;T&gt; {
256+
snail(this: T[], rowsCount: number, colsCount: number): T[][];
257+
}
256258
}
257259

258260
/**
@@ -1297,18 +1299,20 @@ <h3 class="text-xl font-semibold text-teal-800 mt-8 mb-4">実装方法の比較<
12971299
<p className="font-semibold text-emerald-900">
12981300
Snail Traversalパターン:
12991301
</p>
1300-
{visual.result2d[0].map((_, colIdx) => {
1301-
const isEvenCol = colIdx % 2 === 0;
1302-
const colValues = isEvenCol
1303-
? visual.result2d.map(r => r[colIdx])
1304-
: [...visual.result2d].reverse().map(r => r[colIdx]);
1305-
1306-
return (
1307-
<li key={colIdx}>
1308-
• 列{colIdx}: {isEvenCol ? '上から下' : '下から上'} [{colValues.join(', ')}]
1309-
</li>
1310-
);
1311-
})}
1302+
<ul>
1303+
{visual.result2d[0].map((_, colIdx) => {
1304+
const isEvenCol = colIdx % 2 === 0;
1305+
const colValues = isEvenCol
1306+
? visual.result2d.map(r => r[colIdx])
1307+
: [...visual.result2d].reverse().map(r => r[colIdx]);
1308+
1309+
return (
1310+
<li key={colIdx}>
1311+
• 列{colIdx}: {isEvenCol ? '上から下' : '下から上'} [{colValues.join(', ')}]
1312+
</li>
1313+
);
1314+
})}
1315+
</ul>
13121316
</div>
13131317
</div>
13141318
)}
@@ -1619,10 +1623,5 @@ <h3 className="mt-0 text-teal-800 text-xl font-semibold">
16191623
const root = ReactDOM.createRoot(document.getElementById('react-root'));
16201624
root.render(<SnailTraversalSteps />);
16211625
</script>
1622-
<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/prism.min.js"></script>
1623-
<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/components/prism-typescript.min.js"></script>
1624-
<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/plugins/line-numbers/prism-line-numbers.min.js"></script>
1625-
<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/plugins/toolbar/prism-toolbar.min.js"></script>
1626-
<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/plugins/copy-to-clipboard/prism-copy-to-clipboard.min.js"></script>
16271626
</body>
16281627
</html>

0 commit comments

Comments
 (0)