#LeetCode:35. Search Insert Position

利用二分搜尋找尋 upper_bound 的方法再稍微確認一下 target 是否存在即可。

C++(8ms)

/*******************************************************/
/* LeetCode 35. Search Insert Position                 */
/* Author: Maplewing [at] knightzone.studio            */
/* Version: 2019/04/01                                 */
/*******************************************************/
#include <vector>
#include <algorithm>
using namespace std;

class Solution {
public:
  int searchInsert(vector<int>& nums, int target) {
    int upperBound = upper_bound(nums.begin(), nums.end(), target) - nums.begin();
    return (upperBound > 0 && nums[upperBound - 1] == target) ? upperBound - 1 : upperBound;
  }
};

回應

目前無留言,歡迎留言!

發表迴響

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料

%d 位部落客按了讚: