Computer >> Máy Tính >  >> Lập trình >> Python

Chương trình tìm ra mảng con lớn nhất có độ dài nhất định trong python

Giả sử chúng ta có một mảng chứa các giá trị nguyên khác nhau và độ dài k cho trước. Chúng ta phải tìm ra mảng con lớn nhất từ ​​mảng có độ dài đã cho. Một mảng con được cho là lớn hơn một mảng con khác, nếu subarray1 [i] ≠ subarry2 [i] và subarray1 [i]> subarry2 [i].

Vì vậy, nếu đầu vào là nums =[5, 3, 7, 9], k =2, thì đầu ra sẽ là [7, 9].

Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -

  • start:=kích thước của nums - k
  • max_element:=nums [start]
  • max_index:=start
  • trong khi bắt đầu> =0, thực hiện
    • nếu nums [start]> max_element khác 0, thì
      • max_element:=nums [start]
      • max_index:=start
    • trả về số [từ chỉ mục max_index đến max_index + k]
  • trả về số [từ chỉ mục max_index đến max_index + k]

Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -

Ví dụ

def solve(nums, k):
   start = len(nums) - k
   max_element = nums[start]
   max_index = start

   while start >= 0:
      if nums[start] > max_element:
         max_element = nums[start]
         max_index = start

      start -= 1

   return nums[max_index:max_index + k]

print(solve([5, 3, 7, 9], 2))

Đầu vào

[5, 3, 7, 9], 2

Đầu ra

[7, 9]