Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonを使用して文字列内で2番目に大きい数字を検索するプログラム


英数字の文字列sがあるとすると、sに表示される2番目に大きい数字を見つける必要があります。そのような文字列がない場合は、-1を返します。

したがって、入力がs ="p84t3ho1n"の場合、桁が[1,3,4,8]であるため、出力は4になり、2番目に大きい桁は4になります。

これを解決するには、次の手順に従います-

  • lst:=新しいセット

  • sの各letに対して、実行します

    • letがアルファベットでない場合は、

      • lstに整数としてletを挿入

  • lstのサイズが<=1の場合、

    • -1を返す

  • lstをソートした後、最後から2番目の要素を返します

理解を深めるために、次の実装を見てみましょう-

def solve(s):
   lst = set()
   for let in s:
      if not let.isalpha():
         lst.add(int(let))
   if len(lst) <= 1:
         return -1
   return sorted(list(lst))[len(lst) - 2]
s = "p84t3ho1n"
print(solve(s))

入力

"hello", "hlelo"

出力

True

  1. アナグラム単語の最大のサブセットのサイズを見つけるPythonプログラム

    小文字の配列が与えられます。私たちのタスクは、互いのアナグラムである文字列の最大のサブセットのサイズを見つけることです。文字列のアナグラムは、2番目の文字列が最初の文字列の単なる再配置である場合、1つの文字列が別の文字列のアナグラムであることを意味します。ここでは、Counter()メソッドを使用してPythonでこの問題をすばやく解決できます。 たとえば、文字列「python」と「typhon」はアナグラムです。 アルゴリズム Step 1: Split input string separated by space into words. Step 2: Sort each string

  2. リスト内で最大、最小、2番目に大きい、2番目に小さいものを見つけるPythonプログラム?

    配列が与えられたら、最大、最小、2番目に大きい、2番目に小さい数を見つける必要があります。 アルゴリズム Step 1: input list element Step 2: we take a number and compare it with all other number present in the list. Step 3: get maximum, minimum, secondlargest, second smallest number. サンプルコード # To find largest, smallest, second largest and second small