数组的边界
1144. 递减元素使数组呈锯齿状
给你一个整数数组 nums,每次 操作 会从中选择一个元素并 将该元素的值减少 1。

如果符合下列情况之一,则数组 A 就是 锯齿数组:

每个偶数索引对应的元素都大于相邻的元素,即 A[0] > A[1] < A[2] > A[3] < A[4] > ...
或者,每个奇数索引对应的元素都大于相邻的元素,即 A[0] < A[1] > A[2] < A[3] > A[4] < ...

返回将数组 nums 转换为锯齿数组所需的最小操作次数。

class Solution {public:int movesToMakeZigzag(vector<int>& nums) {if (nums.size() < 2) return 0;int s1 = 0;int s2 = 0;int N = nums.size();for (int i = 0; i < N; ++i) {int l = (i > 0) ? nums[i - 1] : INT_MAX;int r = (i < N - 1) ? nums[i + 1] : INT_MAX;if (i & 1) {s1 += max(0, nums[i] - min(l, r) + 1);} else {s2 += max(0, nums[i] - min(l, r) + 1); }}return min(s1, s2);}
};

批注:上述代码来自leetcode这位大神:

【leetcode】最强边界条件相关推荐

  1. LeetCode 970. 强整数

    文章目录 1. 题目 2. 解题 2.1 暴力法 2.2 优化双重循环 1. 题目 给定两个正整数 x 和 y,如果某一整数等于 xi + yj,其中整数 i >= 0 且 j >= 0, ...

  2. leetcode 970. 强整数(Powerful Integers)

    目录 题目描述: 示例 1: 示例 2: 解法: 题目描述: 给定两个正整数 x 和 y,如果某一整数等于 x^i + y^j,其中整数 i >= 0 且 j >= 0,那么我们认为该整数 ...

  3. Java实现 LeetCode 420 强密码检验器

    420. 强密码检验器 一个强密码应满足以下所有条件: 由至少6个,至多20个字符组成. 至少包含一个小写字母,一个大写字母,和一个数字. 同一字符不能连续出现三次 (比如 "-aaa-&q ...

  4. 记录每日LeetCode 2299.强密码校验器II Java实现

    题目描述: 如果一个密码满足以下所有条件,我们称它是一个 强 密码: 它有至少 8 个字符.     至少包含 一个小写英文 字母.     至少包含 一个大写英文 字母.     至少包含 一个数字 ...

  5. 2022-1-25 Leetcode 970.强整数

    s.insert(1);//返回值为pair<set<int>::iterator, bool>//迭代器表示该元素的位置 重点在于如果其中一个是 1 或者是 0 ,应该如何处 ...

  6. LeetCode 官方强推的算法笔记,是有什么与众不同的魅力?

    程序员到底需不需要学习算法?这个问题被争论的次数绝对不亚于"Java 是不是最好的语言""VIM 和 Emacs 谁是最好的编辑器""程序员是不是需要 ...

  7. LeetCode官方强推的算法笔记,是有什么与众不同的魅力?

    程序员到底需不需要学习算法?这个问题被争论的次数绝对不亚于"Java是不是最好的语言""VIM和Emacs谁是最好的编辑器""程序员是不是需要学习数学 ...

  8. LeetCode题解目录

    最新更新于2020.11.27 前往LeetCode主页. 前往GitHub源码.(服务器原因,暂停同步.) 前往码云主页. 已解决 456/1878 - 简单353 中等 90 困难 13 2020 ...

  9. leetcode刷题java、c++、go语言三合一版本 谷歌师兄的刷题笔记、东哥的算法小抄、 Guide哥的Java面试突击版

    不久前火爆 GitHub 的 LeetCode 中文刷题手册,分享给大家,让正在找工作的朋友能够快速找到心仪的offer! <LeetCode Cookbook>目前已经收录了 520 道 ...

最新文章

  1. Spring容器和Bean加载
  2. 通俗理解并行性和并发性的区别
  3. yum安装软件包提示Error Downloading Packages解决方法
  4. python 字符串补齐
  5. 一致吗 驱动_外国不过春节?AMD驱动再更新,解决BUG,游戏不闪退,重启不黑屏...
  6. python基础-------python2.7教程学习【廖雪峰版】(二)
  7. Hadoop入门(八)Mapreduce高级shuffle之Partitioner
  8. 解决WP表前缀更换后出现的You do not have sufficient permission
  9. 又是同样的剧情!华为Mate Xs被黄牛炒至4万元上下
  10. Hexo+next的侧边栏背景与字体颜色设置方法
  11. Javaweb实现在线预览word文件
  12. php+网络测速,网络测速步骤
  13. javascript scope chain
  14. 【雪野实训记录】Oracle数据库 T4作业——事务和数据库对象
  15. ios5.1.1旧版软件下载_爱思助手V7.98.15 版发布:新增IPA签名旧版本应用下载等新功能...
  16. 设计模式之六大设计原则【入门】
  17. 用Chrome浏览器模拟手机,android,iphone,ipad访问网站
  18. 如何用python实现地图定位_GPS 测试汇总和python GPS 导航地图实现
  19. 一文带你读懂,这三个交换机层级的区别和联系。
  20. 怎么接收layui上传的文件_如何接收layui上传excel上传及php处理【】

热门文章

  1. 线性判别分析(Linear Dicriminant Analysis)参数推导记录备忘
  2. ggplot2分面柱状图柱子比例一致_R语言柱状图
  3. android des ecb加密_Android逆向 | 基础知识篇 01
  4. SparkStreaming 入门案例之wordcount
  5. 二极管区分极性以及驱动原理
  6. 【JavaScript回顾】闭包
  7. 使用k-近邻算法改进约会网站的配对效果
  8. [4/10]指定结进程名称的命令taskkill.exe
  9. Linux下进程信息的深入分析
  10. windows server2012 domain user权限配置