做网站的过程中有哪些问题,做动图为所欲为的网站,图片转链接生成器网站,自贡建设局网站文章目录 力扣题目代码工程 力扣题目
给你一个字符数组 letters#xff0c;该数组按非递减顺序排序#xff0c;以及一个字符 target。letters 里至少有两个不同的字符。
返回 letters 中大于 target 的最小的字符。如果不存在这样的字符#xff0c;则返回 letters 的第一个… 文章目录 力扣题目代码工程 力扣题目
给你一个字符数组 letters该数组按非递减顺序排序以及一个字符 target。letters 里至少有两个不同的字符。
返回 letters 中大于 target 的最小的字符。如果不存在这样的字符则返回 letters 的第一个字符。
示例 1
输入: letters [“c”, “f”, “j”]target “a” 输出: “c” 解释letters 中字典上比 ‘a’ 大的最小字符是 ‘c’。 示例 2:
输入: letters [“c”,“f”,“j”], target “c” 输出: “f” 解释letters 中字典顺序上大于 ‘c’ 的最小字符是 ‘f’。 示例 3:
输入: letters [“x”,“x”,“y”,“y”], target “z” 输出: “x” 解释letters 中没有一个字符在字典上大于 ‘z’所以我们返回 letters[0]。
提示
2 letters.length 104 letters[i] 是一个小写字母 letters 按非递减顺序排序 letters 最少包含两个不同的字母 target 是一个小写字母
代码工程
class Solution {
public:char nextGreatestLetter(vectorchar letters, char target) {int left 0, right letters.size() - 1;int mid 0, pos 0;/*判断目标字符是否大于等于数组中最后一个字符是则返回数组第一个字符*/if(target letters[right]){return letters[0];}while(left right){mid left (right - left) / 2;if(letters[mid] target){right mid;}else{left mid 1; }}return letters[left];}
};