কম্পিউটার টিউটোরিয়াল

পাইথনে লেক্সিকোগ্রাফিক্যালি সর্বোচ্চ মাউন্টেন লিস্ট বের করার প্রোগ্রাম

তিনটি পজিটিভ সংখ্যা n, lower, upper দেওয়া আছে। দৈর্ঘ্য n একটি লিস্ট বানাতে হবে যা স্ট্রিক্টলি ইনক্রিজিং তারপর স্ট্রিক্টলি ডিক্রিজিং, সব সংখ্যা [lower, upper] রেঞ্জে, এবং উভয় অংশ নন-খালি। লেক্সিকোগ্রাফিক্যালি সর্বোচ্চ এমন লিস্ট রিটার্ন করুন।

উদাহরণ

n = 5, lower = 3, upper = 7 → আউটপুট: [6, 7, 6, 5, 4]

[7, 6, 5, 4, 3] অবৈধ কারণ ইনক্রিজিং অংশ খালি।

এলগরিদম

  1. যদি n > 2*(upper-lower)+1: খালি লিস্ট রিটার্ন করুন।
  2. c := upper - lower, d := 1
  3. যদি c < n: d := n - c - 1
  4. যদি d == 0: d := 1
  5. f := range(upper-d, upper), g := range(upper, upper-n+d, -1)
  6. f + g রিটার্ন করুন।

পাইথন কোড

def solve(n, lower, upper):
    if n > 2 * (upper - lower) + 1:
        return []
    c = upper - lower
    d = 1
    if c < n:
        d = n - c - 1
    if d == 0:
        d = 1
    f = list(range(upper - d, upper))
    g = list(range(upper, upper - n + d, -1))
    return f + g

n = 5
lower = 3
upper = 7
print(solve(n, lower, upper))  # আউটপুট: [6, 7, 6, 5, 4]

ইনপুট / আউটপুট

5, 3, 7
[6, 7, 6, 5, 4]
  1. পাইথন প্রোগ্রাম অ্যারেতে সবচেয়ে বড় এলিমেন্ট বের করা

  2. লিস্টের কিউমুলেটিভ সাম বের করার পাইথন প্রোগ্রাম

  3. পাইথনে লিস্টের এলিমেন্টগুলোর যোগফল বের করা

  4. পাইথনে অ্যারে থেকে সর্বোচ্চ এলিমেন্ট বের করা