สมมติว่าเรามีรายการตัวเลขที่เรียกว่า nums ซึ่งมีเฉพาะตัวเลขที่ไม่เป็นค่าลบ หากมีองค์ประกอบจำนวน k ในจำนวนที่มากกว่าหรือเท่ากับ k ให้หาค่า k หากเราไม่พบเช่นนั้น ให้คืนค่า -1
ดังนั้น หากอินพุตมีค่าเท่ากับ nums =[6, 4, 0, 8, 2, 9] ผลลัพธ์จะเป็น 4 เพราะมีองค์ประกอบ 4 ตัวที่มากกว่าหรือเท่ากับ 4:[6, 4, 8, 9].
เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -
-
เรียงลำดับรายการในลำดับย้อนกลับ
-
สำหรับฉันในช่วง 1 ถึงขนาดของ nums - 1 ทำ
-
ถ้าฉัน> nums[i - 1] แล้ว
-
ออกจากวง
-
-
มิฉะนั้น เมื่อ i> nums[i] แล้ว
-
กลับมา
-
-
-
กลับ -1
ตัวอย่าง
ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น
def solve(nums): nums.sort(reverse=True) for i in range(1, len(nums)): if i >nums[i - 1]: break elif i > nums[i]: return i return -1 nums = [6, 4, 0, 8, 2, 9] print(solve(nums))
อินพุต
[6, 4, 0, 8, 2, 9]
ผลลัพธ์
4