ຄອມພິວເຕີ້ຜູ້ຊ່ຽວຊານ
ຫຼັກສູດປະລິນຍາໂທຂອງໂຄງການທົດສອບຕົວຢ່າງ
ທ່ານຈະຖືກຮ້ອງຂໍໃຫ້ສໍາເລັດການທົດສອບທີ່ແທ້ຈິງເປັນສ່ວນຫນຶ່ງຂອງຂະບວນການຄໍາຮ້ອງສະຫມັກຂອງທ່ານ.
ຈຸດປະສົງຂອງການສອບເສັງສັ້ນນີ້ແມ່ນເພື່ອປະເມີນຄວາມສາມາດຂອງທ່ານໃນການແກ້ໄຂບັນຫາການຂຽນໂປຼແກຼມປະກອບໃນພາສາທີ່ທ່ານເລືອກ.
ຂຽນວິທີແກ້ໄຂຂອງທ່ານໃນ Java ຖ້າທ່ານຮູ້ຈັກພາສານັ້ນ; ຖ້າບໍ່ດັ່ງນັ້ນກໍ່ຈະໃຊ້ພາສາຫນຶ່ງເຫຼົ່ານີ້: C, C ++, ຫຼື C #. ສໍາລັບບັນຫາແຕ່ລະດ້ານຂ້າງລຸ່ມ, ໃຫ້ຂຽນຄໍາຕອບທີ່ງ່າຍທີ່ສຸດ, ທີ່ສຸດທີ່ທ່ານສາມາດເຮັດໄດ້, ໃນຮູບແບບຂອງໂຄງການສັ້ນ.
ທົດສອບແບບທົດລອງ
- ອາເລທີ່ມີຈໍານວນຂອງອົງປະກອບຈໍານວນຫນຶ່ງຖືກກ່າວວ່າເປັນຈຸດສູນກາງຖ້າທຸກໆອົງປະກອບ (ຍົກເວັ້ນກາງຫນຶ່ງ) ແມ່ນສູງກວ່າຄ່າຂອງອົງປະກອບກາງ. ໃຫ້ສັງເກດວ່າຕາຕະລາງພຽງແຕ່ມີຈໍານວນຈໍານວນຂອງອົງປະກອບທີ່ມີອົງປະກອບກາງ. ຂຽນຟັງຊັນທີ່ຍອມຮັບອາເລເປັນຈໍານວນເຕັມແລະກັບຄືນ 1 ຖ້າມັນເປັນຂົ້ວກາງ, ຖ້າບໍ່ດັ່ງນັ້ນມັນຈະກັບຄືນ 0.
ຕົວຢ່າງ:
ຖ້າອາເລໃສ່ແມ່ນ | ການກັບຄືນມາ |
{1, 2, 3, 4, 5} | 0 (ອົງປະກອບກາງ 3 ບໍ່ແມ່ນຫນ້ອຍກ່ວາອົງປະກອບອື່ນໆທັງຫມົດ) |
{3, 2, 1, 4, 5} | 1 (ອົງປະກອບກາງ 1 ແມ່ນຫນ້ອຍກ່ວາອົງປະກອບທັງຫມົດ) |
{3, 2, 1, 4, 1} | 0 (ອົງປະກອບກາງ 1 ບໍ່ແມ່ນຫນ້ອຍກ່ວາອົງປະກອບອື່ນໆທັງຫມົດ) |
{1, 2, 3, 4} | 0 (ບໍ່ມີອົງປະກອບກາງ) |
{} | 0 (ບໍ່ມີອົງປະກອບກາງ) |
{10} | 1 (ອົງປະກອບກາງ 10 ແມ່ນຫນ້ອຍກ່ວາອົງປະກອບທັງຫມົດ) |
ເບິ່ງຄໍາຕອບທີ່ຖືກຕ້ອງເພື່ອຄໍາຖາມຕົວຢ່າງ.
- ຂຽນຟັງຊັນທີ່ໃຊ້ເວລາ array ຂອງ integers ເປັນການໂຕ້ຖຽງແລະສົ່ງຄືນມູນຄ່າໂດຍອີງໃສ່ຈໍານວນຂອງຈໍານວນຄ້າງແລະຄີກໃນອາເລ. ໃຫ້ X = ສົມຜົນຂອງຈໍານວນຄ້າງໃນອາເລແລະໃຫ້ Y = ສົມຜົນຂອງຈໍານວນແມ້ກະທັ້ງ. ຟັງຊັນຄວນກັບຄືນ X-Y
ລາຍເຊັນຂອງຫນ້າທີ່ຄື:
int f (int [] a)
ຕົວຢ່າງ
ຖ້າອາເລໃສ່ແມ່ນ | ການກັບຄືນມາ |
{1} | 1 |
{1, 2} | -1 |
{1, 2, 3} | 2 |
{1, 2, 3, 4} | -2 |
{3, 3, 4, 4} | -2 |
{3, 2, 3, 4} | 0 |
{4, 1, 2, 3} | -2 |
{1, 1} | 2 |
{} | 0 |
ເບິ່ງຄໍາຕອບທີ່ຖືກຕ້ອງເພື່ອຄໍາຖາມຕົວຢ່າງ.
- ຂຽນຟັງຊັນທີ່ຍອມຮັບອາເລທີ່ມີລັກສະນະເປັນຕໍາແຫນ່ງເລີ່ມຕົ້ນທີ່ສູນແລະມີຄວາມຍາວ. ມັນຄວນສົ່ງຄືນອາເລອັກຂະລະທີ່ມີບັນຈຸ ຄວາມຍາວຕົວອັກສອນເລີ່ມຕົ້ນດ້ວຍ ການເລີ່ມຕົ້ນລັກສະນະຂອງແຖວລໍາລຽງ. ຟັງຊັນຄວນເຮັດການກວດສອບຄວາມຜິດພາດໃນສະຖານທີ່ເລີ່ມຕົ້ນແລະຄວາມຍາວແລະຄືນ null ຖ້າຫາກວ່າຄ່າທີ່ບໍ່ແມ່ນກົດຫມາຍ.
ລາຍເຊັນຜົນກະທົບແມ່ນ:
char [] f (char [] a, int start, int len)
ຕົວຢ່າງ
ຖ້າມີກໍານົດການປະກອບ | ການກັບຄືນມາ |
{'a', 'b', 'c'}, 0, 4 | null |
{'a', 'b', 'c'}, 0, 3 | {'a', 'b', 'c'} |
{'a', 'b', 'c'}, 0, 2 | {'a', 'ຂ'} |
{'a', 'b', 'c'}, 0, 1 | {'a'} |
{'a', 'b', 'c'}, 1, 3 | null |
{'a', 'b', 'c'}, 1, 2 | {'ຂ', 'ຄ'} |
{'a', 'b', 'c'}, 1, 1 | {'ຂ'} |
{'a', 'b', 'c'}, 2, 2 | null |
{'a', 'b', 'c'}, 2, 1 | {'ຄ'} |
{'a', 'b', 'c'}, 3, 1 | null |
{'a', 'b', 'c'}, 1, 0 | {} |
{'a', 'b', 'c'}, -1, 2 | null |
{'a', 'b', 'c'}, -1, -2 | null |
{}, 0, 1 | null |
ເບິ່ງຄໍາຕອບທີ່ຖືກຕ້ອງເພື່ອຄໍາຖາມຕົວຢ່າງ.
- ຂຽນຟັງຊັນເພື່ອປ່ຽນເປັນຈໍານວນເຕັມໂດຍໃຊ້ຕົວເລກຈໍານວນແລະບໍ່ໃຊ້ແຖວໃດໆຫຼືໂຄງສ້າງຂໍ້ມູນອື່ນໆ.
ລາຍເຊັນຂອງຫນ້າທີ່ຄື:
int f (int n)
ຕົວຢ່າງ
ຖ້າຈໍານວນເຕັມປ້ອນແມ່ນ | ການກັບຄືນມາ |
1234 | 4321 |
12005 | 50021 |
1 | 1 |
1000 | 1 |
0 | 0 |
-12345 | -54321 |
ເບິ່ງຄໍາຕອບທີ່ຖືກຕ້ອງເພື່ອຄໍາຖາມຕົວຢ່າງ.
- ຂຽນຟັງຊັນເພື່ອສົ່ງຄືນອາເລທີ່ມີອົງປະກອບທັງຫມົດທີ່ເປັນສອງແຖວທີ່ມີຈໍານວນເຕັມບວກທີ່ແຕກຕ່າງກັນ. ທ່ານບໍ່ຄວນໃຊ້ວິທີໃດກໍ່ຕາມ. ທ່ານໄດ້ຖືກອະນຸຍາດໃຫ້ນໍາໃຊ້ຈໍານວນຂອງແຖວໃດຫນຶ່ງ.
ລາຍເຊັນຂອງຫນ້າທີ່ຄື:
int [] f (int [] first, int [] second)
ຕົວຢ່າງ
ຖ້າມີກໍານົດການປະກອບ | ການກັບຄືນມາ |
{1, 8, 3, 2}, {4, 2, 6, 1} | {1, 2} |
{1, 8, 3, 2, 6}, {2, 6, 1} | {2, 6, 1} |
{1, 3, 7, 9}, {7, 1, 9, 3} | {1, 3, 7, 9} |
{1, 2}, {3, 4} | {} |
{}, {1, 2, 3} | {} |
{1, 2}, {} | {} |
{1, 2}, null | null |
null, {} | null |
null, null | null |
ເບິ່ງຄໍາຕອບທີ່ຖືກຕ້ອງເພື່ອຄໍາຖາມຕົວຢ່າງ.
- ພິຈາລະນາອາເລ A ທີ່ມີ n ຂອງຈໍານວນເຕັມບວກ. idx + 0] + A [idx-1] ເທົ່າກັບ A [idx + 1] + A [idx + 1] + A [idx-2] + A [idx-1] + + A [n-1] ຂຽນຟັງຊັນເພື່ອສົ່ງກັບ POE ຂອງອາເລຖ້າມັນມີຢູ່ແລ້ວແລະ -XNUMX ຖ້າບໍ່ດັ່ງນັ້ນ.
ລາຍເຊັນຂອງຫນ້າທີ່ຄື:
int f (int [] a)
ຕົວຢ່າງ
ຖ້າຫາກວ່າຕາຕະລາງປະກອບມີ | ການກັບຄືນມາ |
{1, 8, 3, 7, 10, 2} | 3 ເຫດຜົນ: a [0] + a [1] + a [2] ແມ່ນເທົ່າກັບ [4] + a [5] |
{1, 5, 3, 1, 1, 1, 1, 1, 1} | 2 ເຫດຜົນ: [0] + a [1] ເທົ່າກັບ [3] + a [4] + a [5] + a [6] + a [7] + a [8] |
{2, 1, 1, 1, 2, 1, 7} | 5 ເຫດຜົນ: a [0] + a [1] + a [2] + a [3] + a [4] ເທົ່າກັບ [6] |
{1, 2, 3} | -1 ເຫດຜົນ: ບໍ່ມີ POE. |
{3, 4, 5, 10} | -1 ເຫດຜົນ: ບໍ່ມີ POE. |
{1, 2, 10, 3, 4} | -1 ເຫດຜົນ: ບໍ່ມີ POE. |
ເບິ່ງຄໍາຕອບທີ່ຖືກຕ້ອງເພື່ອຄໍາຖາມຕົວຢ່າງ.
ຫມາຍເຫດ: ກະລຸນາອ່ານ ບັນຊີລາຍຊື່ຂອງຄວາມຜິດພາດການດໍາເນີນງານທົ່ວໄປ ນັກຮຽນທີ່ມີຄວາມຫມັ້ນໃຈໃນການທົດສອບຂອງພວກເຮົາ.