当前位置: 首页 > news >正文

算法笔记 --- 最短子数组

对于一个数组,请设计一个高效算法计算需要排序的最短子数组的长度。

给定一个int数组A和数组的大小n,请返回一个二元组,代表所求序列的长度。(原序列位置从0开始标号,若原序列有序,返回0)。保证A中元素均为正整数。

#include <iostream>
#include <vector>
using namespace std;

class Subsequence {
public:
    int shortestSubsequence(vector<int> A, int n) {
        int var_max = A[0];
        int var_min = A[n-1];
        int index1 = 0, index2 = 0;
        for(int i = 1; i < n; i++){
            if(A[i] >= var_max){
                var_max = A[i];
            }else{
                index1 = i;
            }
        }
        for(int i = n-2; i >=0; i--){
            if(A[i] <= var_min){
                var_min = A[i];
            }else{
                index2 = i;
            }
        }
        if(index1 == 0 && index2 == 0){
            return 0;
        }
        return (index1-index2+1);
    }
};
int main()
{

    vector<int> A;
    //1,4,6,5,9,10
    A.push_back(1), A.push_back(4), A.push_back(6), A.push_back(5), A.push_back(9), A.push_back(10);
    Subsequence sorter;
    int res = sorter.shortestSubsequence(A, 6);

    cout<<res<<endl;
    
    return 0;
}

 

转载于:https://www.cnblogs.com/zhongzhiqiang/p/5799348.html

相关文章:

  • hadoop job 日志的查看
  • Jersey采用模板Freemarker输出
  • hadoop连接hdfs报错Call From master/172.27.0.5 to master:8020 failed on connection exception: 问题的解决
  • Linux命令手册
  • kernel:NMI watchdog: BUG: soft lockup - CPU#6 stuck for 28s! CentOS7linux中内核被锁死
  • reactjs服务器端渲染——node搭建简易服务器
  • java后台接收前端对象数组
  • MyBatis 中if 标签 判断字符串不生效
  • 开源大数据周刊-第20期
  • Linux新建Oracle用户和数据库并导入sql文件
  • layui 数据表格内嵌上传按钮,并在上传中增加所在行的id或其他属性
  • 重启oracle的方法
  • ios中屏幕旋转的控制
  • 已有实例创建新的数据库空间和用户,并授权
  • 关于margin和padding的总结
  • [Vue CLI 3] 配置解析之 css.extract
  • [分享]iOS开发-关于在xcode中引用文件夹右边出现问号的解决办法
  • 【译】React性能工程(下) -- 深入研究React性能调试
  • Java IO学习笔记一
  • JavaScript标准库系列——Math对象和Date对象(二)
  • JS正则表达式精简教程(JavaScript RegExp 对象)
  • k8s 面向应用开发者的基础命令
  • learning koa2.x
  • Nginx 通过 Lua + Redis 实现动态封禁 IP
  • vue2.0一起在懵逼的海洋里越陷越深(四)
  • 大数据与云计算学习:数据分析(二)
  • 给自己的博客网站加上酷炫的初音未来音乐游戏?
  • 基于HAProxy的高性能缓存服务器nuster
  • 微信小程序上拉加载:onReachBottom详解+设置触发距离
  • 小程序 setData 学问多
  • 新版博客前端前瞻
  • 从如何停掉 Promise 链说起
  • ​渐进式Web应用PWA的未来
  • #pragam once 和 #ifndef 预编译头
  • #鸿蒙生态创新中心#揭幕仪式在深圳湾科技生态园举行
  • (14)Hive调优——合并小文件
  • (39)STM32——FLASH闪存
  • (Python) SOAP Web Service (HTTP POST)
  • (笔试题)分解质因式
  • (二)换源+apt-get基础配置+搜狗拼音
  • (三)docker:Dockerfile构建容器运行jar包
  • (原創) 物件導向與老子思想 (OO)
  • .mysql secret在哪_MySQL如何使用索引
  • .net 按比例显示图片的缩略图
  • .NET/C# 编译期间能确定的相同字符串,在运行期间是相同的实例
  • .NET/C# 如何获取当前进程的 CPU 和内存占用?如何获取全局 CPU 和内存占用?
  • ?php echo ?,?php echo Hello world!;?
  • @RequestParam详解
  • [1204 寻找子串位置] 解题报告
  • [2016.7 day.5] T2
  • [BUUCTF]-Reverse:reverse3解析
  • [c#基础]DataTable的Select方法
  • [C++]运行时,如何确保一个对象是只读的
  • [C++提高编程](三):STL初识
  • [HDOJ4911]Inversion