zoukankan      html  css  js  c++  java
  • LeetCode 1150. Check If a Number Is Majority Element in a Sorted Array

    原题链接在这里:https://leetcode.com/problems/check-if-a-number-is-majority-element-in-a-sorted-array/

    题目:

    Given an array nums sorted in non-decreasing order, and a number target, return True if and only if target is a majority element.

    majority element is an element that appears more than N/2 times in an array of length N.

    Example 1:

    Input: nums = [2,4,5,5,5,5,5,6,6], target = 5
    Output: true
    Explanation: 
    The value 5 appears 5 times and the length of the array is 9.
    Thus, 5 is a majority element because 5 > 9/2 is true.
    

    Example 2:

    Input: nums = [10,100,101,101], target = 101
    Output: false
    Explanation: 
    The value 101 appears 2 times and the length of the array is 4.
    Thus, 101 is not a majority element because 2 > 4/2 is false.

    Note:

    1. 1 <= nums.length <= 1000
    2. 1 <= nums[i] <= 10^9
    3. 1 <= target <= 10^9

    题解:

    Use binary search to find the first occurance of target. Make sure that first ovvurance index + n / 2 also points to target.

    Time Complexity: O(logn).

    Space: O(1).

    AC Java:

     1 class Solution {
     2     public boolean isMajorityElement(int[] nums, int target) {
     3         if(nums == null || nums.length == 0){
     4             return false;
     5         }
     6         
     7         int n = nums.length;
     8         int l = 0;
     9         int r = n - 1;
    10         while(l < r){
    11             int mid = l + (r - l) / 2;
    12             if(nums[mid] < target){
    13                 l = mid + 1;
    14             }else{
    15                 r = mid;
    16             }
    17         }
    18         
    19         return l + n / 2 < n && nums[l + n / 2] == target;
    20     }
    21 }

    类似Majority Element.

  • 相关阅读:
    MFC中CTREECTRL的checkbox问题
    GLOG的使用说明
    安装Electron
    WIN32中DLL的建立
    MFC动态创建菜单
    C++迭代器
    VIM常用命令
    层次遍历二叉树
    sql存储过程中加引号
    Apache Tomcat 绿色版安装Service(服务)
  • 原文地址:https://www.cnblogs.com/Dylan-Java-NYC/p/12076239.html
Copyright © 2011-2022 走看看