文章目录

  • 1. 题目
  • 2. 解题

1. 题目

给你一个下标从 0 开始的整数数组 nums 。对于每个下标 i(1 <= i <= nums.length - 2),nums[i] 的 美丽值 等于:

  • 2,对于所有 0 <= j < i 且 i < k <= nums.length - 1 ,满足 nums[j] < nums[i] < nums[k]
  • 1,如果满足 nums[i - 1] < nums[i] < nums[i + 1] ,且不满足前面的条件
  • 0,如果上述条件全部不满足
    返回符合 1 <= i <= nums.length - 2 的所有 nums[i] 的 美丽值的总和
示例 1:
输入:nums = [1,2,3]
输出:2
解释:对于每个符合范围 1 <= i <= 1 的下标 i :
- nums[1] 的美丽值等于 2示例 2:
输入:nums = [2,4,6,4]
输出:1
解释:对于每个符合范围 1 <= i <= 2 的下标 i :
- nums[1] 的美丽值等于 1
- nums[2] 的美丽值等于 0示例 3:
输入:nums = [3,2,1]
输出:0
解释:对于每个符合范围 1 <= i <= 1 的下标 i :
- nums[1] 的美丽值等于 0提示:
3 <= nums.length <= 10^5
1 <= nums[i] <= 10^5

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/sum-of-beauty-in-the-array
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. 解题

  • 预处理出来每个位置的 左侧的最大值,右侧的最小值
class Solution {public:int sumOfBeauties(vector<int>& nums) {int n = nums.size();vector<int> lmax(n,0), rmin(n,100000);for(int i = 0; i < n; ++i)lmax[i] = max(i>0?lmax[i-1]:0, nums[i]);for(int i = n-1; i >= 0; --i)rmin[i] = min(i<n-1 ? rmin[i+1] : 100000, nums[i]);int ans = 0;for(int i = 1; i < n-1; ++i){if(lmax[i-1] < nums[i] && nums[i] < rmin[i+1])ans += 2;else if(nums[i-1] < nums[i] && nums[i] < nums[i+1])ans++;}return ans;}
};

128 ms 86.4 MB C++


我的CSDN博客地址 https://michael.blog.csdn.net/

长按或扫码关注我的公众号(Michael阿明),一起加油、一起学习进步!

LeetCode 2012. 数组美丽值求和相关推荐

  1. 给定数组 求和等于固定值 算法_别人家的面试题:不可变数组快速范围求和

    (给算法爱好者加星标,修炼编程内功) 来源:十年踪迹的博客 h5jun.com/post/range-sum-query-immutable.html 这是一道翻译小组的同学问我的题目,这道题很有意思 ...

  2. LeetCode 2070. 每一个查询的最大美丽值(离线查询+排序+优先队列)

    文章目录 1. 题目 2. 解题 1. 题目 给你一个二维整数数组 items ,其中 items[i] = [pricei, beautyi] 分别表示每一个物品的 价格 和 美丽值 . 同时给你一 ...

  3. php索引数组相等,php二维数组中子数组的某一键相等,其余键值求和

    需要处理的数组 Array ( [0] => Array ( [uid] => 1 [price] => 85.00 [earnings] => 40.00 ) [1] =&g ...

  4. LeetCode 1781. 所有子字符串美丽值之和

    文章目录 1. 题目 2. 解题 1. 题目 一个字符串的 美丽值 定义为:出现频率最高字符与出现频率最低字符的出现次数之差. 比方说,"abaacc" 的美丽值为 3 - 1 = ...

  5. [LeetCode 1781]所有子字符串美丽值之和

    题目描述 题目链接:所有子字符串美丽值之和 一个字符串的 美丽值 定义为:出现频率最高字符与出现频率最低字符的出现次数之差. 比方说,"abaacc" 的美丽值为 3 - 1 = ...

  6. leetcode 5682. 所有子字符串美丽值之和

    一个字符串的 美丽值 定义为:出现频率最高字符与出现频率最低字符的出现次数之差. 比方说,"abaacc" 的美丽值为 3 - 1 = 2 . 给你一个字符串 s ,请你返回它所有 ...

  7. LeetCode简单题之逐步求和得到正数的最小值

    题目 给你一个整数数组 nums .你可以选定任意的 正数 startValue 作为初始值. 你需要从左到右遍历 nums 数组,并将 startValue 依次累加上 nums 数组中的值. 请你 ...

  8. 嵌入式 ARM 汇编编程例题(二维数组按规律求和,求两数 gcd / lcm,求数组 min / max,字符串复制,排序)

    文章目录 0x00. 整数加减乘除 0x01. 一维数组按某种规律求和 0x01.1 求 1~100 之和 0x01.2. 求一维数组的和 0x01.2. 求一维数组的所有奇数的和 0x02. 二维数 ...

  9. 把一个数组的值存入二叉树中,然后利用前序、中序、后序3种方式进行遍历(完整代码以及运行结果)(Java)

    把一个数组的值存入二叉树中,然后利用前序.中序.后序3种方式进行遍历(完整代码以及运行结果) 在最近的面试过程中,听说有小伙伴被面试官要求创建二叉树,然后对该二叉树进行遍历,感觉这一直以来都是一个大家 ...

最新文章

  1. ACM——常用函数总结
  2. ISME:中国林科院亚林所袁志林组揭示盐碱地根系深色有隔内生真菌种群基因岛的正向选择机制...
  3. LayUi引入JSON文件进行表格重载时出现接口请求异常
  4. 通过串口来控制网管型交换机的操作步骤详解
  5. while用法_语法宝典:连词while的四种用法,你都学会了吗?
  6. 前端笔记-vue cli使用echarts
  7. 小瓦怕扫地机器人_小瓦扫地机器人青春版评测报告
  8. IntelliJ IDEA恢复安装时的初始状态
  9. AVG Anti-Virus System 7.5.433注册码生成器
  10. linux 的vi命令详解,Linux vi 命令详解
  11. Nginx-负载均衡部署
  12. 微信字号调整问题 html,解决h5 开发 ,设置手机字体大小微信设置字体大小 页面变形问题...
  13. 10、I/O 输入输出流
  14. 拆解洪恩教育2020年财报:Q4亏损扩大7倍,负债增至4亿元
  15. Math.h 正态分布 C语言,C++与正态分布(示例代码)
  16. ios软件商店上架老被打回_iOS APP上架App Store常见被拒原因及解决方案
  17. “国防七子”、“C9联盟”、“华东五虎”,中国最顶尖的大学都在这!
  18. springboot+vue前后端分离项目(后台管理系统)
  19. 南京标志设计-logo设计(品牌形象核心部分)
  20. SSH服务移植到ARM单板

热门文章

  1. Goland安装-工欲善其事必先利其器
  2. Flask学习记录之Flask-SQLAlchemy
  3. Hive的基本操作总结
  4. 计算机表格怎么求面积,在wps表格中怎么把数据生成面积图?
  5. java 检查进程是否存在
  6. 解决文件路径的问题的总结
  7. 位运算实现四则运算(C++实现)
  8. 【代码笔记】iOS-清除图片缓存UIActionSheet
  9. strcpy()函数一个简单那程序来了解一下它。。
  10. 通过 .NET Framework 中的 XPath 和 XSLT API 方便地操作 XML 数据