Leetcode Note: Go - Number of Lines to Write String
Number of Lines To Write String - LeetCode
https://leetcode.com/problems/number-of-lines-to-write-string/
- Go 言語で取り組んだメモ
所感
- string s, int 配列 width が与えられる
- 各行が 100 ピクセルを超えないように s に書き込もうとしている
- 合計幅が 100 ピクセルを超えないように、できるだけ多くの文字を書き込む
- s で止まった所から、 2行目 にできるだけ多くの文字を書き込む
- すべての s を書き込むまで続ける
- int 配列として 0: 合計行数, 1: ピクセルに含まれる最終行の width を return する
回答
Number of Lines To Write String - LeetCode
https://leetcode.com/problems/number-of-lines-to-write-string/solution/
Go solution - LeetCode Discuss
https://leetcode.com/problems/number-of-lines-to-write-string/discuss/964069/Go-solution
func numberOfLines(widths []int, S string) []int {
count := 0
lineCount := 1
for _, e := range S {
if count + widths[e-'a'] <= 100 {
count += widths[e-'a']
}else {
lineCount++
count = widths[e-'a']
}
}
return []int{lineCount, count}
}