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

ค้นหาสตริงที่อักขระทุกตัวมีคำศัพท์มากกว่าอักขระถัดไปในPython


สมมติว่าเรามีตัวเลข n; เราต้องตรวจสอบสตริงที่มีความยาว n+1 ตัวพิมพ์เล็ก เพื่อให้อักขระที่ตำแหน่งใดๆ ควรมีขนาดใหญ่กว่าอักขระถัดไปในเชิงพจนานุกรม

ดังนั้น หากอินพุตเท่ากับ 15 เอาต์พุตจะเป็น ponmlkjihgfedcba

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

  • temp_str :=สตริงว่าง
  • พิเศษ :=n mod 26
  • ถ้าพิเศษ>=1 แล้ว
    • สำหรับ i ในช่วง 26 -(พิเศษ + 1) ถึง 25 ทำ
      • temp_str :=temp_str + str[i]
    • จำนวน :=n / 26 (การหารจำนวนเต็ม)
    • สำหรับฉันในช่วง 1 ที่จะนับ + 1 ทำ
      • สำหรับ j ในช่วง 0 ถึง 25 ทำ
        • temp_str :=temp_str + str[j]
  • ส่งคืน temp_str

ตัวอย่าง

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

def show_string(n, str):
   temp_str = ""
   extra = n % 26
   if (extra >= 1) :
      for i in range( 26 - (extra + 1), 26):
         temp_str += str[i]
   count = n // 26
   for i in range(1, count + 1) :
      for j in range(26):
         temp_str += str[j]
   return temp_str
n = 15
str = "zyxwvutsrqponmlkjihgfedcba"
print(show_string(n, str))

อินพุต

15

ผลลัพธ์

ponmlkjihgfedcba