อาเรย์ ๆ ๆ


ปฏิบัติการครั้งนี้มีให้เขียน 3 เมท็อดที่เกี่ยวกับอาเรย์ดังนี้ 

count

  • เขียนเมท็อด int count(int[] d, int x)
    เพื่อคืนจำนวนข้อมูลในอาเรย์ d ที่มีค่าเท่ากับ x
  • เช่น ให้ d = [ 2, 3, 4, 4, 5, 5, 4 ], x = 4
    เมื่อเรียก count(d,x) จะได้ 3 เพราะ 4 ปรากฏใน d อยู่ 3 ตัว

mode

  • เขียนเมท็อด int mode(int[] d)
    คืนข้อมูลในอาเรย์ d ตัวที่ปรากฏเป็นจำนวนมากสุด

  • เช่น ให้ d = [1, 3, 3, 1, 2, 3, 9, 3, 3]
    เมื่อเรียก mode(d) จะได้ 3 เพราะ d มี 3 อยู่ 5 ตัว ซึ่งมากสุด

  • หมายเหตุ :

    • ถ้ามีข้อมูลใน d เกินหนึ่งตัวที่ปรากฏมากสุดเป็นจำนวนเท่ากัน คืนตัวใดก็ได้
    • ให้ถือว่าอาเรย์ d ที่ได้รับมีขนาดอย่างน้อย 1 ช่อง    

majority

  • เขียนเมท็อด boolean majority(int[] d)
    ที่ถามว่า มีข้อมูลใดใน d หรือไม่ ที่มีค่าซ้ำกันเป็นจำนวนเกินครึ่งของขนาดของ d 

  • เช่น d = [1,0,1,2,1,1,1,1,1,2] เมื่อเรียก majority(d) จะได้ true

แต่ถ้า d = [1,1,1,2,2,3] เมื่อเรียก majority(d) จะได้ false เพราะไม่มีข้อมูลใดใน d ที่มีค่าซ้ำกันเกิน 3 ตัว


ข้อแนะนำ

  • ควรเขียนเมท็อด count ก่อน
  • จากนั้นใช้ count ในการเขียน mode
  • และใช้ mode ในการเขียน majority 

การตรวจให้คะแนน

  • เมื่อต้องการให้ระบบทดสอบและให้คะแนน ให้กดปุุ่ม F6

คะแนนเต็ม : 15 คะแนน

เวลาปฏิบัติการ : 50 นาที