Googleに行きたい大学生

情報系とは無縁の大学生が就職難易度のトップともいわれてる夢の会社に入社できるか挑戦

参照渡しで悩む

またまた参照渡しに悩む。

なんで使うかがわからないからすっきりしなかった。

忘れる前にメモ。

f:id:ProgrammingFromScratch:20191227141636p:plain

2.05再帰関数Atcoder

これは与えられた配列をすべて足す例。

6行目と17行目に参照が出てきた。&のやつね。

 

何でここは値渡しではいけないのだろうか。よくわからないから&を消して実行してみた。やっぱり結果は変わらない。

 

もう一度参照の範囲を読み返すと、無駄なコピーを減らすことができる例が書いてあった。値渡しだと、コピーするようなもんだから時間がかかるが、参照渡しだと、そのデータにアクセスできるからコピーするという時間が省略されてかなり早く実行できると、個人的に理解した。

間違ってたらぜひ指摘お願いします。

 

参照渡しをすると、データを書き換えてしまうかもしれないが、読み取るだけならその心配はなく、実行時間が無駄に長くならない。たぶん。

 

あと12行目には&がない。参照渡しされたとこを値渡ししたらコピーではないから大丈夫なのかな?自信がない。

 

 

具体的な話は置いといて、今は3.01まで終わった。

一応2まで終わったらどんな計算問題も解けるらしいが、勉強が始まったばっかり。使う道具が最低限そろったって感じ。

数日間やってみて、勉強方法のせいなのか、結構ゲームみたいやなって思った。

使えるものが渡されて、それを使ってパズルを解く。

最初は多少プログラミングが面白くなくても頑張っていい会社に入りたいと思ったけど、自分と相性がいいみたいでこれはラッキー。

大体6時間ぐらい毎日やってるのかな、もう少しやってるかもしれないけど、正直少ないと感じてる。朝ダラダラ寝てしまうのがよくないなー。

これを機に、生活も規則正しいものへと変えていきたい。