zoukankan      html  css  js  c++  java
  • PHP-在排序数组中查找元素的第一个和最后一个位置

    给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。

    你的算法时间复杂度必须是 O(log n) 级别。

    如果数组中不存在目标值,返回 [-1, -1]。

    示例 1:

    输入: nums = [5,7,7,8,8,10], target = 8
    输出: [3,4]
    示例 2:

    输入: nums = [5,7,7,8,8,10], target = 6
    输出: [-1,-1]

    来源:力扣(LeetCode)

    class Solution {

        /**
         * @param Integer[] $nums
         * @param Integer $target
         * @return Integer[]
         */
        function searchRange($nums, $target) {
            $len = count($nums);
            $arr = [];

            for($i=0;$i<$len;$i++){
                
                if($nums[$i]===$target){
                    array_push($arr,$i);
                }

            }

            if(empty($arr)) return [-1,-1];
            return [min($arr),max($arr)];

        }
    }
     
    最近在看python 
     
    class Solution:
        def searchRange(self, nums: List[int], target: int) -> List[int]:
            arr = []
            for i in range(len(nums)):
                if int(nums[i]) == target:
                    arr.append(i) 
            if arr:
                return [min(arr),max(arr)]      
            else:
                return [-1,-1]
     
     
  • 相关阅读:
    公司程序升级 win2008
    软件
    crystal 2008升级(草稿)
    crystalreportviewers12的一些修改
    Crystal Report 2008
    deep learning 相关资料 Lei
    如何打印出符合acm要求的pdf Lei
    matlab常用命令 Lei
    Wilson Interval Lei
    Perl / Shell 脚本语言 Lei
  • 原文地址:https://www.cnblogs.com/corvus/p/12094097.html
Copyright © 2011-2022 走看看