從零開始刷力扣(六十八) 482 金鑰格式化

2021-10-14 23:24:46 字數 1077 閱讀 4745

有乙個金鑰字串 s ,只包含字母,數字以及 '-'(破折號)。其中, n 個 '-' 將字串分成了 n+1 組。

給你乙個數字 k,請你重新格式化字串,使每個分組恰好包含 k 個字元。特別地,第乙個分組包含的字元個數必須小於等於 k,但至少要包含 1 個字元。兩個分組之間需要用 '-'(破折號)隔開,並且將所有的小寫字母轉換為大寫字母。

給定非空字串 s 和數字 k,按照上面描述的規則進行格式化。

s 的長度可能很長,請按需分配大小。k 為正整數。

s 只包含字母數字(a-z,a-z,0-9)以及破折號'-'

s 非空

示例 1:

輸入:s = "5f3z-2e-9-w", k = 4

輸出:"5f3z-2e9w"

解釋:字串 s 被分成了兩個部分,每部分 4 個字元;

注意,兩個額外的破折號需要刪掉。

示例 2:

輸入:s = "2-5g-3-j", k = 2

輸出:"2-5g-3j"

解釋:字串 s 被分成了 3 個部分,按照前面的規則描述,第一部分的字元可以少於給定的數量,其餘部分皆為 2 個字元。

思路:1、把所有的-全部去掉,然後把所有的小寫字母轉化成大寫字母

2、字串逆序遍歷,並且每隔k個字元加上-

**實現:

/**

* @param s

* @param k

* @return

*/var licensekeyformatting = function (s, k)

result += str;

return [...result].reverse().join('');

};

執行結果:

從零開始刷力扣(六十七) 43 字串相乘

給定兩個以字串形式表示的非負整數num1和num2,返回num1和num2的乘積,它們的乘積也表示為字串形式。說明 num1和num2的長度小於110。num1和num2只包含數字0 9。num1和num2均不以零開頭,除非是數字 0 本身。不能使用任何標準庫的大數型別 比如 biginteger ...

從零開始刷力扣(六十七) 415 字串相加

給定兩個字串形式的非負整數num1和num2,計算它們的和。num1和num2的長度都小於 5100 num1和num2都只包含數字0 9num1和num2都不包含任何前導零 你不能使用任何內建 biginteger 庫,也不能直接將輸入的字串轉換為整數形式 思路 將位數較小的字串前置補0,然後從後...

從零開始刷力扣(十七) 598 範圍求和 II

題目描述 給定乙個初始元素全部為0,大小為 m n 的矩陣m以及在m上的一系列更新操作。操作用二維陣列表示,其中的每個操作用乙個含有兩個正整數 a 和 b 的陣列表示,含義是將所有符合 0 i a 以及 0 j b 的元素 m i j 的值都增加 1。在執行給定的一系列操作後,你需要返回矩陣中含有最...