• leetcode68-search-in-rotated-sorted-array-ii


    题目描述

    继续思考题目 "Search in Rotated Sorted Array":

    如果数组种允许有重复元素怎么办?
    会影响时间复杂度吗?是怎样影响时间复杂度的,为什么?
    编写一个函数判断给定目标值是否在数组中。

    Follow up for "Search in Rotated Sorted Array":
    What if duplicates are allowed?

    Would this affect the run-time complexity? How and why?

    Write a function to determine if a given target is in the array.


    示例1

    输入

    复制
    [1],1

    输出

    复制
    true
    class Solution {
    public:
        /**
         *
         * @param A int整型一维数组
         * @param n int A数组长度
         * @param target int整型
         * @return bool布尔型
         */
        bool search(int* A, int n, int target) {
            // write code here
            for (int i=0;i<n;i++){
                if (A[i]==target)
                    return true;
            }
            return false;
        }
    };


    class Solution {
    public:
        /**
         *
         * @param A int整型一维数组
         * @param n int A数组长度
         * @param target int整型
         * @return bool布尔型
         */
        bool search(int* A, int n, int target) {
            // write code here
            int first=0;
            int last=n-1;
            while (first<=last){
                int mid=first+(last-first)/2;
                if (A[mid]==target)
                    return true;
                if (A[first]==A[mid]&&A[mid]==A[last]){
                    first++;
                    last--;
                    
                }
                else if (A[first]<=A[mid])
                {
                    if (A[first]<=target && target<A[mid])
                        last=mid-1;
                    else
                        first=mid+1;
                    
                }
                else if (A[mid]<=A[last]){
                    if (A[mid]<target && target <=A[last])
                        first=mid+1;
                    else
                        last=mid-1;
                }
            }
            return false;
        }
    };

  • 相关阅读:
    坐标系操作
    创建重复字符的字符串
    添加和读取扩展数据
    GDI+ 透明画刷
    AutoCAD将焦点设置为绘图窗口
    DataGridView复制到Excel格式
    VB.NET 如何使用AutoCAD事件
    DataGridView禁用行标题中的三角号
    day80-drf-web开发模式、api接口、postman的使用、Restful规范(重点)、drf的安装和简单使用 、cbv源码、APIView源码分析
    day81-drf-序列化组件、简单使用、字段类型、字段选项、修改数据、read_only、write_only、查询所有、新增、删除、模型类序列化、源码分析
  • 原文地址:https://www.cnblogs.com/hrnn/p/13413334.html
Copyright © 2020-2023  润新知