程序员面试金典——17.6最小调整有序

Solution1:我的答案。垃圾算法

class Rearrange {
public:vector<int> findSegment(vector<int> A, int n) {// write code herevector<int> temp = A, res(2, 0);sort(temp.begin(), temp.end());for(int i = 0; i < temp.size(); i++) if(temp[i] != A[i]) {res[0] = i;break;}for(int j = temp.size() - 1; j >= 0; j--)if(temp[j] != A[j]) {res[1] = j;break;}return res;}
};

Solution2:
参考网址:https://www.nowcoder.com/profile/5415481/codeBookDetail?submissionId=19665157
这个思路好清奇啊~~~学习一个
复杂度为O(n)O(n)O(n)

class Rearrange {
public:vector<int> findSegment(vector<int> A, int n) {// write code herevector<int> result;int size = A.size();if(size == 0 || n <= 0) {return result;}//ifint M = 0,N = 0;int max = A[0];// 计算[M,N]中的N// 如果当前元素小于之前的最大元素则说明当前元素应处于[M N]无序序列中// 而且当前元素是当前最大下标的无序元素所以更新N为当前元素下标for(int i = 1; i < n; ++i) {if (A[i] >= max){max = A[i];}//ifelse{N = i;}//else}//forint min = A[n-1];// 计算[M,N]中的M// 如果当前元素大于之前的最小元素则说明当前元素应处于[M N]无序序列中// 而且当前元素是当前最小下标的无序元素所以更新M为当前元素下标for(int i = n - 2;i >= 0;--i) {if(A[i] <= min){min = A[i];}//ifelse{M = i;}//else}//forresult.push_back(M);result.push_back(N);return result;}
};

程序员面试金典——17.6最小调整有序相关推荐

  1. 【重点】程序员面试金典——17.13树转链表

    程序员面试金典--17.13树转链表 在<剑指offer>上有一个类似的题目:https://blog.csdn.net/allenlzcoder/article/details/7961 ...

  2. 程序员面试金典——17.12整数对查找

    程序员面试金典--17.12整数对查找 Solution1:针对重复数字的情况题目未做明确说明,虽然此题仍能AC,但有的重复数字用了1次,有的用了超过1次,要求不清晰.重点是这种前后双指针的方法要会! ...

  3. 程序员面试金典——17.9词频统计

    程序员面试金典--17.9词频统计 Solution1:我的答案.利用了STL中的map或者unordered_map结构,因为unordered_map是基于哈希结构实现的,所以更好一点. clas ...

  4. 程序员面试金典——17.8最大连续数列和

    程序员面试金典--17.8最大连续数列和 Solution1:典型的动态规划题啊. 一遍过,哈哈哈 class MaxSum { public:int getMaxSum(vector<int& ...

  5. 程序员面试金典——17.3阶乘尾零

    程序员面试金典--17.3阶乘尾零 Solution1:我的答案.没有更笨的方法了... class Factor { public:int getFactorSuffixZero(int n) {/ ...

  6. 程序员面试金典——17.5珠玑妙算

    程序员面试金典--17.5珠玑妙算 参考网址:https://www.nowcoder.com/profile/2708949/codeBookDetail?submissionId=13283364 ...

  7. 程序员面试金典——17.4无判断max

    程序员面试金典--17.4无判断max 参考网址: https://www.nowcoder.com/practice/b0a82250677a4fabb0bc41053fa05013?tpId=8& ...

  8. 程序员面试金典——17.1无缓存交换

    程序员面试金典--17.1无缓存交换 主要是利用异或性质~ 程序员面试金典--17.1无缓存交换 class Exchange { public:vector<int> exchangeA ...

  9. 程序员面试金典——17.7数字发音

    程序员面试金典--17.7数字发音 Solution1:我的答案.要AC这道题真不容易...细节注意太多 class ToString { public:vector<string> Di ...

最新文章

  1. 6、Dcoker 容器数据卷用DockerFile添加
  2. WebStorm按Tab建快速生成代码模块
  3. Python 基础—— operator 模块、functools
  4. 电磁场中场点和源点及▽(R)▽(1/R)▽.▽(1/R)
  5. iis中添加视频播放支持mp4文件、flv文件等
  6. 计算机科学导论第四版ppt,计算机科学导论课件.ppt
  7. 勒索病毒在线解密网站汇总
  8. Activiti7 + Spring Boot + mybatis Plus + Oracle 数据库整合-学习篇(一)
  9. Linux驱动开发(十四)---USB驱动开发学习(键盘+鼠标)
  10. windows批量修改文件权限
  11. Oracle PL/SQL 循环
  12. 用matlab做二阶电路分析,MATLAB绘制二阶电路响应
  13. a8处理器相当于骁龙几_天玑720属于骁龙多少 天玑720处理器相当于骁龙几
  14. WHERE EXISTS
  15. html表格上下居中
  16. MOOC 形势与政策 2020年9月
  17. linux查询awk命令用法
  18. 2021年全球切削刀具市场销售额达到了244.5亿美元,预计2028年将达到321亿美元
  19. 2022-ISCC信息安全与对抗竞赛wp-misc(详解,有脚本( •̀ ω •́ )y)
  20. CocoaPods公有库和私有库制作

热门文章

  1. ASP 中常见的错误 80004005 信息
  2. caffe学习日记--lesson7:caffemodel可视化的两种方法
  3. mac python安装pyqt5_pyqt5 mac os 安装
  4. 嵌入式linux系统移植的四大步骤_嵌入式 Linux 产品技术评估之系统裁剪与启动速度...
  5. java 图片转成base64编码_java语言中如何将一个图片转换为base64编码的数据呢?
  6. python 标准库 excel_Python 操作 Excel 的函数库
  7. python用户管理系统模块_Django的用户模块与权限系统的示例代码
  8. 如何在xshell中查看某一接口的服务_【干货分享】如何使用远程工具进入Linux系统...
  9. 安卓自动滑屏脚本_【按键精灵】开发抖音全自动养号脚本!可实现自动滑屏
  10. 创建队列 c语言_在C中创建队列