Qiita 7 - キータぞ、来たぞ、キータだぞー (784レス)
Qiita 7 - キータぞ、来たぞ、キータだぞー http://mevius.5ch.io/test/read.cgi/tech/1757733847/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
1: デフォルトの名無しさん [sage] 2025/09/13(土) 12:24:07.83 ID:mucntwOq Hello hackers ! Qiitaは、エンジニアリングに関する知識を記録・共有するためのサービスです。 コードを書いていて気づいたことや、自分がハマったあの仕様について、 他のエンジニアと知見を共有しましょう ;) https://qiita.com/ Qiita(キータ)は、Incrementsが運営するプログラミング情報のナレッジコミュニティ。 2016年現在で日本最大のプログラマーコミュニティとされている[1]。 https://internet.watch.impress.co.jp/docs/news/1025972.html 前スレ Qiita https://mevius.5ch.net/test/read.cgi/tech/1542357242/ Qiita 2 - キータぞ、来たぞ、キータだぞー https://mevius.5ch.net/test/read.cgi/tech/1658762410/ Qiita 3 - キータぞ、来たぞ、キータだぞー https://mevius.5ch.net/test/read.cgi/tech/1685235361/ Qiita 4 - キータぞ、来たぞ、キータだぞー https://mevius.5ch.net/test/read.cgi/tech/1705486836/ Qiita 5 - キータぞ、来たぞ、キータだぞー https://mevius.5ch.net/test/read.cgi/tech/1717651046/ Qiita 6 - キータぞ、来たぞ、キータだぞー https://mevius.5ch.net/test/read.cgi/tech/1739527246/ http://mevius.5ch.io/test/read.cgi/tech/1757733847/1
2: デフォルトの名無しさん [sage] 2025/09/14(日) 01:56:40.69 ID:CZ0V8fQ4 『【Go】配列を再帰的に逆順にするサンプルコードを書いてみた』 > 再帰を使うことで、ループを使わずにエレガントに実装できる。 根本的なところで誤解してる人な模様。 http://mevius.5ch.io/test/read.cgi/tech/1757733847/2
3: デフォルトの名無しさん [sage] 2025/09/14(日) 02:53:44.41 ID:bGojT+ur >>2 一般論として 再帰で表現した方が抽象度が高く理解しやすく定義そのまま表現できることが多い 特に末尾再帰をコンパイラがループへ変換してくれて実行効率が同等ならば全ての点で再帰による表記が勝る http://mevius.5ch.io/test/read.cgi/tech/1757733847/3
4: デフォルトの名無しさん [sage] 2025/09/14(日) 12:10:16.28 ID:RhzWmJy7 入力配列と出力配列渡してループで処理するわ http://mevius.5ch.io/test/read.cgi/tech/1757733847/4
5: デフォルトの名無しさん [sage] 2025/09/14(日) 12:59:52.05 ID:ZqIkDajJ 記事の再帰版のコードは > func ReverseArray(arr []int, start, end int) []int { > // ベースケース: 配列の中央に到達したら終了 > if start >= end { > return arr > } > > // 要素を交換 > arr[start], arr[end] = arr[end], arr[start] > > // 再帰呼び出し: 範囲を狭めて継続 > return ReverseArray(arr, start+1, end-1) > } 引数で渡した配列の内容書き換えるんでreturn要らないんだよなあ。 再帰で書くよか繰り返しで書いた方が余程シンプルとも思う。 func ReverseArrayWithFor(arr []int, start, end int) { for start < end { arr[start], arr[end] = arr[end], arr[start] start += 1 end -= 1 } } http://mevius.5ch.io/test/read.cgi/tech/1757733847/5
6: デフォルトの名無しさん [sage] 2025/09/14(日) 13:06:57.84 ID:ZqIkDajJ 記事のスライス操作版のコードは > // ReverseArrayWithSlice はスライス操作で配列を逆順にする(再帰) > func ReverseArrayWithSlice(arr []int) []int { > // ベースケース: 要素が1つ以下なら逆順にする必要なし > if len(arr) <= 1 { > return arr > } > > // 最初の要素を取り出し、残りを再帰的に逆順にしてから結合 > return append(ReverseArrayWithSlice(arr[1:]), arr[0]) > } 引数の配列内容を書き換えないし再帰を説明する上では面白い例だと思うが、パフォーマンスは最低だ罠。 http://mevius.5ch.io/test/read.cgi/tech/1757733847/6
7: デフォルトの名無しさん [sage] 2025/09/14(日) 13:28:33.58 ID:ZqIkDajJ そもそもの話として、ひとつの記事の中で複数の関数が引数だとか配列の内容を書き換えるのかどうかとか仕様が合ってないから比較になってないのよね。 http://mevius.5ch.io/test/read.cgi/tech/1757733847/7
8: デフォルトの名無しさん [] 2025/09/14(日) 13:42:25.65 ID:yOrWt/NI >>7 問題はそこだね ループでも書けるよとかの筋違いな批判は要らんて http://mevius.5ch.io/test/read.cgi/tech/1757733847/8
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 776 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.020s