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];
        }
    };
    

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

  • 相关阅读:
    自定义Dialog
    AlertDialog
    Toast
    WebView
    《构建之法》阅读笔记3
    UI组件之GridView
    ScrollView&HorizontalScrollView
    UI组件之ImageView
    UI组件之ListView
    每周总结(1.24)
  • 原文地址:https://www.cnblogs.com/virgildevil/p/12229989.html
Copyright © 2011-2022 走看看