leetcode 273场周赛 Problem-C
文章目录
- 题目
- 思路
- AC代码
- 后言
题目
5965. 相同元素的间隔之和
思路
思路是利用前缀、后缀数组来减少计数问题,可惜做的时候TLE了。
AC代码
class Solution {public:vector<long long> getDistances(vector<int>& arr) {unordered_map<int,vector<int> > m;int len=arr.size();for(int i=0;i<len;++i){m[arr[i]].emplace_back(i);//记录每个相同数的下标}//要预先处理数组//用前缀和与后缀和数组来记录与前面数的距离以及与后面数的距离//处理前缀vector<long long> pre(len,0),last(len,0);for(auto it=m.begin();it!=m.end();++it){int length=it->second.size();for(int i=0;i<length;++i){if(i==0) pre[it->second[i]]=0;else pre[it->second[i]]=pre[it->second[i-1]]+i*(it->second[i]-it->second[i-1]);}}for(auto it=m.begin();it!=m.end();++it){int length=it->second.size();for(int i=length-1;i>=0;--i){if(i==length-1) last[it->second[i]]=0;else last[it->second[i]]=last[it->second[i+1]]+(length-i-1)*(it->second[i+1]-it->second[i]);}}vector<long long>res(len);for(int i=0;i<len;++i){res[i]=pre[i]+last[i];}return res;}
};
后言
感觉力扣周赛好喜欢考前缀、后缀。滑动窗口呀!从这个题可以看到,前缀与后缀不再仅限制于和了,还有其他推广的含义。
leetcode 273场周赛 Problem-C相关推荐
- LeetCode第 227 场周赛题解
LeetCode第 227 场周赛题解 检查数组是否经排序和轮转得到 原题链接 https://leetcode-cn.com/problems/check-if-array-is-sorted-an ...
- [算法]LeetCode第194场周赛202006021
第194场周赛 20200621 1486. 数组异或操作 题目描述1 给你两个整数,n 和 start . 数组 nums 定义为:nums[i] = start + 2*i(下标从 0 开始)且 ...
- LeetCode 第 194 场周赛
LeetCode 第 194 场周赛 数组异或操作 思路和代码 保证文件名唯一 思路及代码 避免洪水泛滥 思路及代码 找到最小生成树里的关键边和伪关键边 思路及代码 这次周赛比以往难很多. 数组异或操 ...
- LeetCode第 310 场周赛
文章目录 前言 第86场双周赛情况 题目复盘+题解 题1:6176. 出现最频繁的偶数元素[easy] 题2:6176. 出现最频繁的偶数元素[medium] 题3:6178. 将区间分为最少组数[m ...
- C/C++描述 LeetCode 周赛 第199场周赛(阿里云专场)
C/C++描述 LeetCode 周赛 第199场周赛(阿里云专场) 大家好,我叫亓官劼(qí guān jié ),在CSDN中记录学习的点滴历程,时光荏苒,未来可期,加油~博主目前仅在CSDN ...
- leetCode第199场周赛学习
199场周赛 1528. 重新排列字符串 给你一个字符串 s 和一个 长度相同 的整数数组 indices . 请你重新排列字符串 s ,其中第 i 个字符需要移动到 indices[i] 指示的位置 ...
- LeetCode第187场周赛(Weekly Contest 187)解题报告
差点又要掉分了,还好最后几分钟的时候,绝杀 AK.干巴爹!!! 第一题:思路 + 模拟暴力. 第二题:线性扫描. 第三题:双指针(滑动窗口) + 优先队列. 第四题:暴力每一行最小 k 个 + 优先队 ...
- [LeetCode周赛复盘] 第 314 场周赛20221009
[LeetCode周赛复盘] 第 314 场周赛20221009 一.本周周赛总结 二. [Easy] 6201. 找出前缀异或的原始数组 1. 题目描述 2. 思路分析 3. 代码实现 三.[Eas ...
- Acwing第72场周赛+Leetcode第314场周赛
Acwing第72场周赛 第一题:AcWing 4624. 最小值 分析:向下取整可以用到math.h头文件中的floor()函数,最后输出时套用两个min()函数求三个数的最小值即可. 代码: #i ...
最新文章
- Spring Boot 的 10 个核心模块
- linux 编译错误 configure: error: no usable python found at /usr/bin/python2.7
- 洛谷P4239 【模板】多项式求逆(加强版)(多项式求逆)
- java 字体名字_JAVA:获取系统中可用的字体的名字
- h3c交换机 查看二层交换机端口ip_【分享】项目中如何选到称心如意的交换机?...
- 带字母的计算机在线使用,ASCII,进位制在线转换工具
- php正则如何使用 1,PHP正则表达式使用详解(1)
- 信阳农林技术学院经纬度_信阳农林学院驻村工作队为扶贫村协调种苗助力美丽乡村建设...
- Mac下载eclipse的方法
- c语言实现简单俄罗斯方块
- python变量名包括_python中变量的命名以及使用
- 四川绵阳动感地带学生套餐资费备忘
- 10个每个人都用得到的视频下载网站
- ORA-01261: Parameter db_recovery_file_dest destination string cannot be translated
- bingo卡片js代码_Excel Bingo卡随机数代码
- 如果们正预测基本面子
- html中怎么写艺术字,用CSS设计艺术字
- JAVA 消息队列的使用场景
- Visual Odometry Revisited: What Should Be Learnt?(2020.2)
- 使用H5中的video标签时,页面中间显示“暂停”图标;点击播放,图标消失;点击暂停,图标出现(play、pause、ended)
热门文章
- copy_to_user,copy_from_user,get_user,put_user函数比较
- CM3中数据传输对齐/非对齐方式
- 【windows核心编程】线程局部存储TLS
- 关于用Java写的贪吃蛇游戏的一些感想
- archlinux 更新错误 Unrecognized archive format
- httpclient 在获取返回值时,使用getResponseBody触发警告的问题
- 12、基于yarn的提交模式
- LuoguP1402 酒店之王
- DllRegisterServer的调用失败的问题解决方法
- git与svn, tfs等源代码管理器的协同