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

Pythonで入力とバックスペースを実行して、エディターで最終的なテキストを検索するプログラム


エディターに入力された文字を表す文字列sがあり、記号「<-」はバックスペースを示しているとすると、エディターの現在の状態を見つける必要があります。

したがって、入力がs ="ilovepython <-<-ON"の場合、出力は "ilovepythON"になります。これは、 "ilovepython"の後に2つのバックスペース文字があるため、最後の2文字を削除してから、もう一度"ON"と入力します。 。

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

  • res:=新しいリスト
  • sの各iについて、
    • iが'-'と同じで、resの最後の文字が' <'と同じ場合、
      • resから最後の要素を削除する
      • resが空でない場合は、
        • resから最後の要素を削除する
    • それ以外の場合、
      • resの最後にiを挿入
  • resに存在する要素を結合して返す

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

class Solution:
   def solve(self, s):
      res = [] for i in s:
      if i == '-' and res[-1] == '< ': res.pop()
         if res:
            res.pop()
         else:
            res.append(i)
      return "".join(res)
ob = Solution()
print(ob.solve("ilovepython<-<-ON"))

入力

"ilovepython<-<-ON"

出力

ilovepython<-<-ON

  1. Pythonでノードと子孫の違いを見つけるプログラム

    二分木があるとすると、ノードとその子孫の間で最大の絶対差を見つける必要があります。 したがって、入力が次のような場合 その場合、最大の絶対差はノ​​ード8と1の間であるため、出力は7になります。 これを解決するには、次の手順に従います- 関数dfs()を定義します。これはノードを取ります ノードがnullでない場合、 正と負の無限大のリストを返す left:=dfs(ノードの左側) right:=dfs(ノードの右) res:=(left [0]、right [0]の最小値とノードの値、およびleft [1]、right [1]とノードの値の最大値)とのペア ans:

  2. 要素とテキストを見つけるためのSeleniumとPython?

    Selenium Webdriverを使用して、要素とそのテキストを見つけることができます。まず、id、classname、cssなどのロケーターを使用して要素を特定する必要があります。次に、テキストを取得するには、テキストを使用する必要があります。 メソッド。 構文 s = driver.find_element_by_css_selector("h4").text ここでドライバー webdriverオブジェクトです。メソッドfind_element_by_css_selector cssロケータータイプで要素を識別するために使用され、ロケーター値は引数としてメソッド