Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

โปรแกรมค้นหา X สำหรับอาร์เรย์พิเศษที่มีองค์ประกอบ X มากกว่าหรือเท่ากับ X ใน Python


สมมติว่าเรามีอาร์เรย์ที่เรียกว่า nums โดยที่องค์ประกอบทั้งหมดเป็น 0 หรือค่าบวก nums ถือเป็นอาร์เรย์พิเศษหากมีตัวเลข x ซึ่งจะมีตัวเลข x เป็น num ที่มากกว่าหรือเท่ากับ x และ x ไม่จำเป็นต้องเป็นองค์ประกอบในหน่วย num ที่นี่เราต้องค้นหา x ถ้าอาร์เรย์เป็นแบบพิเศษ ไม่เช่นนั้น ให้คืนค่า -1

ดังนั้น หากอินพุตมีค่าเท่ากับ nums =[4,6,7,7,1,0] ผลลัพธ์จะเป็น 4 เนื่องจากมีตัวเลข 4 ตัวที่มากกว่าหรือเท่ากับ 4

เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -

  • สำหรับผมอยู่ในช่วง 0 ถึงจำนวนสูงสุด ทำ

    • จำนวน:=0

    • สำหรับแต่ละ j ใน nums ทำ

      • ถ้า j>=i แล้ว


      • นับ :=นับ + 1
    • ถ้านับเท่ากับ i แล้ว

      • กลับมา

  • กลับ -1

ตัวอย่าง (Python)

ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -

def solve(nums):
   for i in range(max(nums)+1):
      count=0
      for j in nums:
         if j >= i:
            count+=1
      if count == i:
         return i
      return -1

nums = [4,6,7,7,1,0]
print(solve(nums))

อินพุต

[4,6,7,7,1,0]

ผลลัพธ์

-1