Leetcode744尋找比目標字母大的最小字母

2022-08-01 17:09:10 字數 1002 閱讀 9325

題目

給定乙個只包含小寫字母的有序陣列letters 和乙個目標字母 target,尋找有序陣列裡面比目標字母大的最小字母。

陣列裡字母的順序是迴圈的。舉個例子,如果目標字母target = 'z' 並且有序陣列為 letters = ['a', 'b'],則答案返回 'a'。

輸入:

letters = ["

c", "

f", "j"

]target = "a"

輸出: "c

"輸入:

letters = ["

c", "

f", "j"

]target = "c"

輸出: "f

"輸入:

letters = ["

c", "

f", "j"

]target = "d"

輸出: "f

"輸入:

letters = ["

c", "

f", "j"

]target = "g"

輸出: "j

"輸入:

letters = ["

c", "

f", "j"

]target = "j"

輸出: "c

"輸入:

letters = ["

c", "

f", "j"

]target = "k"

輸出: "c

"

題解

本題採用二分查詢來求解,轉換為查詢左邊界的二分查詢問題。將目標值加一再在原陣列中進行左邊界的二分查詢,相當於求解大於給定元素的最小元素。

class

solution

else

}return right == letters.length ? letters[0] : letters[right];

}}

744 尋找比目標字母大的最小字母

給定乙個只包含小寫字母的有序陣列letters和乙個目標字母target,尋找有序陣列裡面比目標字母大的最小字母。陣列裡字母的順序是迴圈的。舉個例子,如果目標字母target z 並且有序陣列為letters a b 則答案返回 a 輸入 letters c f j target a 輸出 c 輸入...

尋找比目標字母大的最小字母

給定乙個只包含小寫字母的有序陣列letters 和乙個目標字母 target,尋找有序陣列裡面比目標字母大的最小字母。陣列裡字母的順序是迴圈的。舉個例子,如果目標字母target z 並且有序陣列為 letters a b 則答案返回 a 示例 輸入 letters c f j target a 輸...

153 尋找比目標字母大的最小字母

給定乙個只包含小寫字母的有序陣列letters 和乙個目標字母 target,尋找有序陣列裡面比目標字母大的最小字母。陣列裡字母的順序是迴圈的。舉個例子,如果目標字母target z 並且有序陣列為 letters a b 則答案返回 a 示例 輸入 letters c f j target a 輸...