Upgrade to Pro — share decks privately, control downloads, hide ads and more …

LINEヤフー新卒採用 コーディングテスト解説 アルゴリズム問題編

LINEヤフー新卒採用 コーディングテスト解説 アルゴリズム問題編

LINEヤフー株式会社公式YouTubeの「LINEヤフー新卒採用 コーディングテスト解説 アルゴリズム問題編(https://www.youtube.com/watch?v=ny0kPAzV7lM)」にて使用している資料です

More Decks by LINEヤフー株式会社 採用情報

Other Decks in Technology

Transcript

  1. ˜-:$PSQPSBUJPO ‒ େલఏɿ࣮֬ʹಈ࡞͢ΔΞϧΰϦζϜ ‒ ਖ਼౴཰͸ॏཁ ‒ ίʔυ͕ଞਓʹݟΒΕΔͱ͍͏ҙࣝ΋ಉ͘͡ॏཁ • ࠷ޙʹνΣοΫ͢Δͷ͸ਓؒ •

    কདྷνʔϜͰҰॹʹಇ͔͘΋͠Εͳ͍ • ఏग़ޙʹ޻෉ͨ͠ϙΠϯτͷઆ໌Λ௥ՃՄೳ • ίʔυͰࣗ෼ΛΞϐʔϧͰ͖Δ  ղ͘ͱ͖ͷϙΠϯτ
  2. ˜-:$PSQPSBUJPO ‒ શମͷຬ଍౓͕࠷େԽ͞ΕΔΑ͏ʹՖՐେձͷ੮ΛׂΓ౰ͯΔ ‒ ༩͑ΒΕΔύϥϝʔλ • νʔϜ਺𝒏 ֤νʔϜͷਓ਺: a!, …

    , a" ՖՐେձͷ੮ͱఆһ • શମͷຬ଍౓ʹؔ͢Δύϥϝʔλx, y, z ʹຬ଍౓ɿ ∑# (+za# /−za# ) − xm − y(k − 1)  ࣮ࡍͷΞϧΰϦζϜ໰୊ͷྫ                 νʔϜͷ੮͕ ͋Δͳ͍ ଞνʔϜͱྡ઀ ͢ΔͱϖφϧςΟ ಉνʔϜͱ෼ׂ ͞ΕΔͱϖφϧςΟ ลͷ਺ ෼ׂ਺ ຬ଍౓͕ߴ͘ͳΔΑ͏ ׂΓ౰͍ͯͯ͘ ˞࠲੮ͱఆһ
  3. ˜-:$PSQPSBUJPO ‒ " # $νʔϜʢ  ਓʣΛׂΓ౰ͯΔ ‒ ύϥϝʔλ𝒛𝟏 𝒙𝒚𝟎

    ຬ଍౓ɿ ∑! (+za_i /−za_i) − xm − y(k − 1) ‒ 𝒊νʔϜ໨·Ͱ഑ஔ͠ɺ࢒Γͷ࠲੮ද͕𝒋ͷͱ͖ͷ࠷େͷຬ଍౓ͱͯ͠𝐃𝐏<𝒊 𝒋>Λߟ͑ͯΈΔ  ղ͖ํͷྫɿಈతܭը๏             ഑ஔʹؔͯ͠ϖφϧςΟͳ͠ i = 0, j =
  4. ˜-:$PSQPSBUJPO ‒ " # $νʔϜʢ  ਓʣΛׂΓ౰ͯΔ ‒ ·ͣ"νʔϜΛ഑ஔͯ͠ΈΔ 

    ղ͖ํͷྫɿಈతܭը๏ "   "         ഑ஔʹؔͯ͠ϖφϧςΟͳ͠ͳͷͰͲ͜ʹ͓͍ͯ΋ຬ଍౓ i = A, j =       "      i = A, j =    " "        i = A, j = ⋯
  5. ˜-:$PSQPSBUJPO ‒ #νʔϜΛ഑ஔͯ͠ΈΔ  ղ͖ํͷྫɿಈతܭը๏ "   " 

     #      i = B, j =     #  "      #   " "        "   "  #            # "         " "  #      ⋯ ⋯ ϖφϧςΟͳ͠ͳͷͰ Ͳ͜ʹ͓͍ͯ΋ຬ଍౓̓
  6. ˜-:$PSQPSBUJPO ‒ #νʔϜΛ഑ஔͯ͠ΈΔ  ղ͖ํͷྫɿಈతܭը๏ "   " 

     #      i = B, j =     #  "      #   " "        "   "  #            # "         " "  #      ⋯ ⋯ ϖφϧςΟͳ͠ͳͷͰ Ͳ͜ʹ͓͍ͯ΋ຬ଍౓̓ ࠷ޙͷνʔϜ·Ͱ܁Γฦ͠ຬ଍౓࠷େͷ഑ஔΛ୳ࡧ
  7. ˜-:$PSQPSBUJPO ‒ ྫ͑͹𝒙𝟏𝟎 ଞνʔϜͱྡΓ߹͏ͱϖφϧςΟͷ৔߹  ഑ஔͷϖφϧςΟ͕͋Δ৔߹ "   "

      #      i = B, j =     #  "      #   " "        "   "  #            # "         " "  #      ⋯ ⋯ ຬ଍౓  ຬ଍౓  ຬ଍౓ 
  8. ˜-:$PSQPSBUJPO ‒ ྫ͑͹𝒙𝟏𝟎 ଞνʔϜͱྡΓ߹͏ͱϖφϧςΟͷ৔߹  ഑ஔͷϖφϧςΟ͕͋Δ৔߹ "   "

      #      i = B, j =     #  "      #   " "        "   "  #            # "         " "  #      ⋯ ⋯ ຬ଍౓  ຬ଍౓  ຬ଍౓  ద੾ͳྡ઀ɺ෼ׂͷ൑ఆ͕ඞཁ
  9. ˜-:$PSQPSBUJPO ‒ ੍໿৚݅Λద੾ʹॲཧ͠ͳ͕Βू߹ʹର͢Δಈతܭը๏ʹج͍ͮͨΞϧΰϦζϜΛߏங͢Δ ‒ ࣮ࡍͷςετͷྲྀΕ • ςετத͸ެ։ςετηοτͰ͍ͭͰ΋࠾఺Ͱ͖·͢ • ੍໿৚݅ʹґଘ͢Δ೉қ౓͝ͱʹ෦෼఺͕༩͑ΒΕ·͢ •

    ϝϞϦ੍໿ɺεϐʔυ੍໿ɺඞཁͳΞϧΰϦζϜͳͲɺ೉қ౓͝ͱͷςετέʔε͕ଘࡏ • ՖՐେձͷྫͰ͸ɺଞνʔϜͱͷ࿈݁ɺಉνʔϜͷ෼ׂͳͲͷύϥϝʔλͰௐ੔ • ΋ͪΖΜຬ఺͕औΕΕ͹Α͍͕ɺ࣮֬ʹ෦෼఺Λ֫ಘ͢Δ࡞ઓ΋ • ͲͷΑ͏ͳࢹ఺ͰΞϧΰϦζϜΛઃܭ͔ͨ͠ɺఏग़ޙͷ௥Ճઆ໌΋෇༩Ͱ͖·͢  ΞϧΰϦζϜ໰୊ͷྫɿՖՐେձ
  10. ˜-:$PSQPSBUJPO ‒ ΞϧΰϦζϜ΍σʔλߏ଄ͷڭՊॻΛಡΈ௚ͯ͠ΈΔ • ಥഥࢠ΋ͳ͍໰୊͸ͳΔ΂͘ग़͞ͳ͍Α͏ʹ͍ͯ͠·͢ ‒ ίʔσΟϯάςετͷγεςϜʹ׳ΕΔ • ࢼݧதʹ͋Θͯͳ͍Α͏ʹ •

    νϡʔτϦΞϧͰຊ൪ͷงғؾΛ஌͓ͬͯ͘ ‒ ࠔͬͨΒΠϯλʔωοτͰௐ΂Δ ‒ ৺ʹ༨༟͕͋Δͱ͖ʹऔΓֻ͔Δ • ϦϥοΫεͯ͠ຊདྷͷ࣮ྗΛʂ  ରࡦ΍৺ߏ͑