zoukankan      html  css  js  c++  java
  • LeetCode:34. Search for a Range(Medium)

    1. 原题链接

    https://leetcode.com/problems/search-for-a-range/description/

    2. 题目要求

    给定一个按升序排列的整型数组nums[ ]和目标值target(int类型),如果数组中存在目标值,返回目标值在数组中的起始位置和结束位置,[start, end]。不存在返回 [-1, -1]。

    3. 解题思路

    思路一:暴力解决,遍历数组进行匹配,时间复杂度O( n )

    4. 代码实现

     1 package com.huiAlex;
     2 
     3 public class SearchForARange34 {
     4     public static void main(String[] args) {
     5         int[] nums = {5, 7, 7, 8, 8, 8, 8, 10};
     6         int[] res = searchRange(nums, 8);
     7         for (int x : res)
     8             System.out.println(x);
     9     }
    10 
    11     public static int[] searchRange(int[] nums, int target) {
    12         int start, end, count;
    13         start = 0;
    14         end = 0;
    15         count = 0;
    16         for (int i = 0; i < nums.length; i++) {
    17             if (nums[i] == target) {
    18                 start = i;
    19                 count++;
    20             }
    21             if (nums[i] > target) break;
    22         }
    23 
    24         if (count == 0) {
    25             start = -1;
    26             end = -1;
    27         } else {
    28             end = start;
    29             start -= count - 1;
    30         }
    31         return new int[]{start, end};
    32     }
    33 }
  • 相关阅读:
    CSRF的安全问题
    preg_replace
    反汇编:虚函数表
    12.Proxy
    JS中的this
    11.Set 和 Map数据结构
    10.symbol
    9.对象的扩展
    test
    ES5支持的方法
  • 原文地址:https://www.cnblogs.com/huiAlex/p/8202927.html
Copyright © 2011-2022 走看看