zoukankan      html  css  js  c++  java
  • 剑指OFFER 旋转数组的最小数字

    剑指OFFER 旋转数组的最小数字

    暴力解法

    直接一次扫描找出最小元素,时间效率比较低,需要改进

    class Solution {
    public:
        int minNumberInRotateArray(vector<int> arr) {
            int min = INT_MAX;
            for(int i=0;i<arr.size();i++)
            {
                if(arr[i]<min)min = arr[i];
            }
            return min;
        }
    };
    

    二分查找法

    class Solution {
    public:
        int minNumberInRotateArray(vector<int> arr) {
            int left = 0;
            int right = arr.size()-1;
            int mid = (left+right)/2;
            while(left != mid)
            {
                if(arr[left]>arr[mid]){
                    right = mid;
                }else if(arr[mid]>arr[right]){
                    left = mid;
                }
                mid =  (left+right)/2;
            }
            return arr[right];
        }
    };
    

    发现提交测试的时间还是一样的,可能是测评系统的问题吧,使用了二分查找多少都会快一些吧

  • 相关阅读:
    几种网络LeNet、VGG Net、ResNet原理及PyTorch实现
    学习Faster R-CNN代码faster_rcnn(八)
    应用安全
    应用安全
    应用安全
    应用安全
    应用安全
    渗透测试
    应用安全
    应用安全
  • 原文地址:https://www.cnblogs.com/virgildevil/p/12229989.html
Copyright © 2011-2022 走看看