leetcode541. 反轉字符串 II(字符串一律用py秒殺)

給定一個字符串 s 和一個整數 k,你需要對從字符串開頭算起的每隔?2k 個字符的前 k 個字符進行反轉。

如果剩余字符少于 k 個,則將剩余字符全部反轉。
如果剩余字符小于 2k 但大于或等于 k 個,則反轉前 k 個字符,其余字符保持原樣。
?

示例:

輸入: s = "abcdefg", k = 2
輸出: "bacdfeg"
?

提示:

該字符串只包含小寫英文字母。
給定字符串的長度和 k 在 [1, 10000] 范圍內。

思路:通俗一點說,每隔k個反轉k個,末尾不夠k個時全部反轉;

class Solution:def reverseStr(self, s: str, k: int) -> str:left, mid, right = 0, k, 2 * k                  # 初始化左中右指針res = ''                                        # 初始化結果字符串while len(res) < len(s):                        # 滿足條件時執行res += s[left:mid][::-1] + s[mid:right]     # 把當前單元的結果添加到結果字符串left, mid, right = left + 2 * k, mid + 2 * k, right + 2 * k                          return res                                      # 返回結果

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/443997.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/443997.shtml
英文地址,請注明出處:http://en.pswp.cn/news/443997.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

leetcode628. 三個數的最大乘積(簡單,我覺得你不會)

給你一個整型數組 nums &#xff0c;在數組中找出由三個數組成的最大乘積&#xff0c;并輸出這個乘積。 示例 1&#xff1a; 輸入&#xff1a;nums [1,2,3] 輸出&#xff1a;6 示例 2&#xff1a; 輸入&#xff1a;nums [1,2,3,4] 輸出&#xff1a;24 示例 3&#xff1a; …

leetcode453. 最小操作次數使數組元素相等(賊難的簡單題)

給定一個長度為 n 的 非空 整數數組&#xff0c;每次操作將會使 n - 1 個元素增加 1。找出讓數組所有元素相等的最小操作次數。 示例&#xff1a; 輸入&#xff1a; [1,2,3] 輸出&#xff1a; 3 解釋&#xff1a; 只需要3次操作&#xff08;注意每次操作會增加兩個元素的值&am…

leetcode設計鏈表,非常工整的實現你值得擁有

設計鏈表的實現。您可以選擇使用單鏈表或雙鏈表。單鏈表中的節點應該具有兩個屬性&#xff1a;val 和 next。val 是當前節點的值&#xff0c;next 是指向下一個節點的指針/引用。如果要使用雙向鏈表&#xff0c;則還需要一個屬性 prev 以指示鏈表中的上一個節點。假設鏈表中的所…

leetcode1669. 合并兩個鏈表

給你兩個鏈表 list1 和 list2 &#xff0c;它們包含的元素分別為 n 個和 m 個。 請你將 list1 中第 a 個節點到第 b 個節點刪除&#xff0c;并將list2 接在被刪除節點的位置。 下圖中藍色邊和節點展示了操作后的結果&#xff1a; 請你返回結果鏈表的頭指針。 示例 1&#xff…

leetcode1721. 交換鏈表中的節點

給你鏈表的頭節點 head 和一個整數 k 。 交換 鏈表正數第 k 個節點和倒數第 k 個節點的值后&#xff0c;返回鏈表的頭節點&#xff08;鏈表 從 1 開始索引&#xff09;。 示例 1&#xff1a; 輸入&#xff1a;head [1,2,3,4,5], k 2 輸出&#xff1a;[1,4,3,2,5] 示例 2&…

《一天聊一個設計模式》 單例

我是兔兔rabbit&#xff0c;關注我吧&#xff0c;給自己每天的進步找一個機會和理由&#xff0c;不要被無效信息淹沒 單例&#xff08;Singleton&#xff09; Intent 確保一個類只有一個實例&#xff0c;并提供該實例的全局訪問點。 Class Diagram 使用一個私有構造函數、一…

Eclipse如何卸載插件

Help ---> About Eclipse -->Installation details--->選中你的插件-->Uninstall..

leetcode1502. 判斷能否形成等差數列(小學生難度)

給你一個數字數組 arr 。 如果一個數列中&#xff0c;任意相鄰兩項的差總等于同一個常數&#xff0c;那么這個數列就稱為 等差數列 。 如果可以重新排列數組形成等差數列&#xff0c;請返回 true &#xff1b;否則&#xff0c;返回 false 。 示例 1&#xff1a; 輸入&#x…

leetcode1528. 重新排列字符串

給你一個字符串 s 和一個 長度相同 的整數數組 indices 。 請你重新排列字符串 s &#xff0c;其中第 i 個字符需要移動到 indices[i] 指示的位置。 返回重新排列后的字符串。 示例 1&#xff1a; 輸入&#xff1a;s "codeleet", indices [4,5,6,7,0,2,1,3] 輸出…

leetcode976. 三角形的最大周長(又是你得不到的簡單題)

給定由一些正數&#xff08;代表長度&#xff09;組成的數組 A&#xff0c;返回由其中三個長度組成的、面積不為零的三角形的最大周長。 如果不能形成任何面積不為零的三角形&#xff0c;返回 0。 示例 1&#xff1a; 輸入&#xff1a;[2,1,2] 輸出&#xff1a;5 示例 2&…

《一天聊一個設計模式》備忘錄

備忘錄&#xff08;Memento&#xff09; Intent 在不違反封裝的情況下獲得對象的內部狀態&#xff0c;從而在需要時可以將對象恢復到最初狀態。 Class Diagram Originator&#xff1a;原始對象Caretaker&#xff1a;負責保存好備忘錄Memento&#xff1a;備忘錄&#xff0c;…

《一天聊一個設計模式》 策略

9. 策略&#xff08;Strategy&#xff09; Intent 定義一系列算法&#xff0c;封裝每個算法&#xff0c;并使它們可以互換。 策略模式可以讓算法獨立于使用它的客戶端。 Class Diagram Strategy 接口定義了一個算法族&#xff0c;它們都實現了 behavior() 方法。Context 是…

如何在eclipse jee中創建Maven project并且轉換為Dynamic web project

轉自&#xff1a;http://www.javaniu.com/maven-jee-dynamic-web-project.htm 注意:該文檔只針對以下eclipse版本&#xff0c;如圖 一.在eclipse的官方站點下載eclipse jee版本,地址http://www.eclipse.org/downloads/download.php?file/technology/epp/downloads/release/ind…

《一天聊一個設計模式》 抽象工廠

4. 抽象工廠&#xff08;Abstract Factory&#xff09; Intent 提供一個接口&#xff0c;用于創建 相關的對象家族 。 Class Diagram 抽象工廠模式創建的是對象家族&#xff0c;也就是很多對象而不是一個對象&#xff0c;并且這些對象是相關的&#xff0c;也就是說必須一起…

leetcode1047. 刪除字符串中的所有相鄰重復項(棧的日常應用)

給出由小寫字母組成的字符串 S&#xff0c;重復項刪除操作會選擇兩個相鄰且相同的字母&#xff0c;并刪除它們。 在 S 上反復執行重復項刪除操作&#xff0c;直到無法繼續刪除。 在完成所有重復項刪除操作后返回最終的字符串。答案保證唯一。 示例&#xff1a; 輸入&#xf…

算法題的輸入大總結

趕緊收藏吧&#xff0c;小白必備知識了 本文以求和為例 多組輸入&#xff0c;每組輸入共一行&#xff0c;包括兩個整數A, B Sample Input 1 2 12 24 400 500 Sample Output 3 36 900 import java.util.Scanner; public class Main {public static void main(String[] args) …

精華Java問題總結

當時在網上匯總了不知多少面試和基礎題&#xff0c;弄了個精華總結。 1、一個".java"源文件中是否可以包括多個類&#xff08;不是內部類&#xff09;&#xff1f;有什么限制&#xff1f; 可以有多個類&#xff0c;但只能有一個public的類&#xff0c;并且public的類…

復習Java的精華總結

小白和老手都應該看看的總結 輸入 java.util.Scanner 是 Java5 的新特征&#xff0c;我們可以通過 Scanner 類來獲取用戶的輸入。 下面是創建 Scanner 對象的基本語法&#xff1a; Scanner s new Scanner(System.in); 使用方法如下&#xff1a; //對應類型用對應的方法接…

必須知道的python專屬騷技巧25例

本文我總結了25個python專屬騷操作&#xff0c;實屬提高效率/同事吹牛只利器&#xff0c;確定不收藏嗎&#xff1f; 一、原地交換 Python 提供了一個直觀的在一行代碼中賦值與交換&#xff08;變量值&#xff09;的方法 x, y 10, 20 print(x, y)x, y y, x print(x, y)#1 (10…

Oracle10g數據庫的完全卸載:

卸載Oracle &#xff1a; 1、停止所有Oracle服務&#xff0c;點Universal Installer卸載2、刪除注冊表中的所有關于Oracle項&#xff08;1&#xff09;在HKEY_LOCAL_MACHINE\SOFTWARE下&#xff0c;刪除Oracle目錄&#xff08;2&#xff09;在HKEY_LOCAL_MACHINE\SYSTEM\Contro…