Pythonで入力とバックスペースを実行して、エディターで最終的なテキストを検索するプログラム
エディターに入力された文字を表す文字列sがあり、記号「<-」はバックスペースを示しているとすると、エディターの現在の状態を見つける必要があります。
したがって、入力がs ="ilovepython <-<-ON"の場合、出力は "ilovepythON"になります。これは、 "ilovepython"の後に2つのバックスペース文字があるため、最後の2文字を削除してから、もう一度"ON"と入力します。 。
これを解決するには、次の手順に従います-
- res:=新しいリスト
- sの各iについて、
- iが'-'と同じで、resの最後の文字が' <'と同じ場合、
- resから最後の要素を削除する
- resが空でない場合は、
- resから最後の要素を削除する
- それ以外の場合、
- resの最後にiを挿入
- iが'-'と同じで、resの最後の文字が' <'と同じ場合、
- 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
-
Pythonでノードと子孫の違いを見つけるプログラム
二分木があるとすると、ノードとその子孫の間で最大の絶対差を見つける必要があります。 したがって、入力が次のような場合 その場合、最大の絶対差はノード8と1の間であるため、出力は7になります。 これを解決するには、次の手順に従います- 関数dfs()を定義します。これはノードを取ります ノードがnullでない場合、 正と負の無限大のリストを返す left:=dfs(ノードの左側) right:=dfs(ノードの右) res:=(left [0]、right [0]の最小値とノードの値、およびleft [1]、right [1]とノードの値の最大値)とのペア ans:
-
要素とテキストを見つけるためのSeleniumとPython?
Selenium Webdriverを使用して、要素とそのテキストを見つけることができます。まず、id、classname、cssなどのロケーターを使用して要素を特定する必要があります。次に、テキストを取得するには、テキストを使用する必要があります。 メソッド。 構文 s = driver.find_element_by_css_selector("h4").text ここでドライバー webdriverオブジェクトです。メソッドfind_element_by_css_selector cssロケータータイプで要素を識別するために使用され、ロケーター値は引数としてメソッド