タグ

ブックマーク / fushiroyama.hatenablog.com (2)

  • アルゴリズムと数学的思考力 - 怠惰を求めて勤勉に行き着く

    厳しい。年始早々厳しさを感じている。自分のプログラミング力にだ。伸び悩んでいる。 端的に言って、数学力のなさが自分のプログラミング能力に制限をかけている。例えばこの問題。 560. Subarray Sum Equals K 入力として与えられる配列 nums のうち、合計が k となる部分配列の個数を数え上げよ。どうも有名な問題らしいが… まず大前提として、部分配列なので i, j の2重ループで始点・終点を定めて sum(nums[i, j]) = k になるものを数え上げれば必ず答えが得られる。最悪計算量は O(N^3) ただし i < nums.length < 20000 という制約があるので N^3 では遅すぎるから何か考えてくださいというのがスタート地点。 ここで、結果の変わらない累積和を何度も求めているので nums[i, j] = k を求めたい場合、 nums[0, j

    アルゴリズムと数学的思考力 - 怠惰を求めて勤勉に行き着く
    nakag0711
    nakag0711 2020/01/02
    プログラミング力と呼ぶべきものがあるとしたら、例えば解法を再利用やテストが可能な単位に分割できているかではないか
  • アメリカ就職に失敗したはなし - 怠惰を求めて勤勉に行き着く

    前口上 アメリカで就職できなかった。華々しい成功譚は見かけるが、夢と散った話はあまり表に出てこない。 なんというか「三振したバッターが相手ピッチャーのことを語る」みたいでまるっきり時間の無駄かもしれないが、もしかしたら参考になる人もいるかも知れないし、実際に就職した人に「お前のアプローチはまったく的外れだ」と言われるかも知れない。僕も何が悪かったのか教えてもらいたい気持ちもあるし、迷ったがこのエントリを公開する。 ちなみにめっっっっちゃ長いので、要点だけ知りたい人は、アメリカで就職するにはとにかく 就労ビザ>技術力>学歴>>>>>>>>>>>>(越えられない壁)>英語力 だというのだけお伝えできればと思う。 アメリカで働くために英語を頑張るぐらいなら、それより大学(院)に入り直してコンピュータサイエンスの学位をとり*1、同時に技術力を磨くほうがよほど近道だと感じた。 それから、現職の同僚は

    アメリカ就職に失敗したはなし - 怠惰を求めて勤勉に行き着く
    nakag0711
    nakag0711 2017/12/18
    エンジニアがみなコンピュータ科学を大学で学んでるのはアメリカの強さだと思う。日本のエンジニアが土方になるのは一つにはこれがないから
  • 1