力扣2615. 等值距离和
由数据范围是10^5只能一次遍历暴力是别想了看到arr[i] 等于所有 |i - j| 之和这很明显是求距离和的方法—数学公式推导前缀和下面这一题也有类似的思路1685. 有序数组中差绝对值之和那我们如何处理满足 nums[j] nums[i] 且 j ! i 的所有 j这个条件呢我们可以用哈希表来存储对于相同元素的值的下标/索引我们可以选择把它存在一一个数组里面也就是unordered_mapint,vectorint mp; for(int i0;inums.size();i) { mp[nums[i]].push_back(i); }这样具有相同的值的下标就到一个数组里面了然后我们可以取哈希表中的key值得到一个索引数组就是上文提到的对于相同元素的值的下标/索引我们可以选择把它存在一一个数组里面我们只需要对这个数组中的每一个元素求一下 |i - j| 之和也就是sum(abs(i-j))我们已知了装有ij的数组索引数组那求起来就很好求只需要对sum(abs(i-j))展开因为带有绝对值所以我们分成两部分这里就是把式子展开具体可以自己列列式子和合并同类项sumleft和sumright sumleftindex*i-sum[i] sumright(sum[a.size()]-sum[i1])-index*(a.size()-(i1)); sumsumleftsumright;这样我们就求出了一个索引i它的sum(abs(i-j))的值也就是题目中arr数组中的一个元素。因此我们就可以写代码了class Solution { public: long long sum[100005]; unordered_mapint,vectorint mp; vectorlong long distance(vectorint nums) { for(int i0;inums.size();i) { mp[nums[i]].push_back(i); } vectorlong long result(nums.size()); for(auto q:mp) { vectorint aq.second; for(int i0;ia.size();i) { sum[i1]sum[i]a[i]; } for(int i0;ia.size();i) { int indexa[i]; long long sumleft(long long)index*i-sum[i]; long long sumright(sum[a.size()]-sum[i1])-(long long)index*(a.size()-(i1)); long long sumsumleftsumright; result[index]sum; } } return result; } };需要注意的是要开long long 不仅是前缀和需要开long long 在算sumleft和sunright的过程中遇到乘法的时候也需要开long long这一点不得不防。时间复杂度O(n)这里是双重循环但不代表是On^2)因为每次从哈希表中取数据是O1。

相关新闻

独立游戏发布指南:从“做完了“到“卖出去“的生存手册

独立游戏发布指南:从“做完了“到“卖出去“的生存手册

引子:一个独立游戏开发者的噩梦 2023年3月15日,凌晨两点。 程序员小陈盯着Steam后台的数据,手在发抖。 他的游戏《星尘回响》——一款他花了三年时间、辞掉工作、烧光积蓄做出来的太空Roguelike——发布24小时了。 销量:47份。 其…

2026/5/17 8:55:39 阅读更多 →
RecyclerViewPager Fragment支持详解:API 12+设备适配方案

RecyclerViewPager Fragment支持详解:API 12+设备适配方案

RecyclerViewPager Fragment支持详解:API 12设备适配方案 【免费下载链接】RecyclerViewPager Deprecated 项目地址: https://gitcode.com/gh_mirrors/re/RecyclerViewPager RecyclerViewPager是一款专为Android平台设计的高效滑动组件,它创新性地…

2026/7/3 16:25:56 阅读更多 →
AReaL模型并行策略:从数据并行到专家并行的完整实现指南

AReaL模型并行策略:从数据并行到专家并行的完整实现指南

AReaL模型并行策略:从数据并行到专家并行的完整实现指南 【免费下载链接】AReaL Distributed RL System for LLM Reasoning 项目地址: https://gitcode.com/GitHub_Trending/are/AReaL AReaL(Distributed RL System for LLM Reasoning&#xff09…

2026/7/5 17:28:46 阅读更多 →

最新新闻

OpenUtau完全指南:免费开源歌声合成平台的终极入门教程

OpenUtau完全指南:免费开源歌声合成平台的终极入门教程

OpenUtau完全指南:免费开源歌声合成平台的终极入门教程 【免费下载链接】OpenUtau Open singing synthesis platform / Open source UTAU successor 项目地址: https://gitcode.com/gh_mirrors/op/OpenUtau OpenUtau是一款完全免费、开源的歌声合成平台&…

2026/7/7 14:24:54 阅读更多 →
Stable Diffusion图生图本地部署与优化实战

Stable Diffusion图生图本地部署与优化实战

🚀 30款热门AI模型一站整合,DeepSeek/GLM/Qwen 随心用,限时 5 折。 👉 点击领海量免费额度 超强图生图本地部署整合包实战指南 1. 背景与核心概念 图生图技术(Image-to-Image Generation)是当前AI领域…

2026/7/7 14:24:54 阅读更多 →
鸿蒙单标签常用的属性

鸿蒙单标签常用的属性

一、Text 文本组件(完整版精简)1. 基础内容属性属性名作用说明content设置文本显示内容,支持换行符换行maxLines限制文本最大展示行数,超出部分按溢出规则处理minLines设置文本最小占用行数,内容不足也会撑开对应高度t…

2026/7/7 14:24:54 阅读更多 →
数字电路信号上拉与下拉技术及PIC18F87J10应用

数字电路信号上拉与下拉技术及PIC18F87J10应用

1. 信号上拉与下拉的基础概念解析在数字电路设计中,上拉(Pull-up)和下拉(Pull-down)是两种常见的信号处理技术。它们通过在信号线上添加电阻连接到电源(VCC)或地(GND)&am…

2026/7/7 14:22:53 阅读更多 →
基于USB Bootloader注入的华为麒麟设备解锁方案:破解Bootloader限制的完整技术实践

基于USB Bootloader注入的华为麒麟设备解锁方案:破解Bootloader限制的完整技术实践

基于USB Bootloader注入的华为麒麟设备解锁方案:破解Bootloader限制的完整技术实践 【免费下载链接】PotatoNV Unlock the bootloader on Huawei devices with Kirin 620/65x/95x/960 项目地址: https://gitcode.com/gh_mirrors/po/PotatoNV PotatoNV是一款专…

2026/7/7 14:22:53 阅读更多 →
嵌入式键盘矩阵设计:2x2矩阵+74HC32实现高效输入

嵌入式键盘矩阵设计:2x2矩阵+74HC32实现高效输入

1. 项目背景与核心价值 在嵌入式系统开发中,输入设备的设计往往面临资源受限与功能需求的矛盾。传统独立按键方案需要占用大量GPIO引脚,而复杂编码器又带来成本飙升。2x2键盘矩阵配合74HC32或门芯片的方案,完美解决了这个痛点——仅需4个物理…

2026/7/7 14:20:53 阅读更多 →

日新闻

鸿蒙新特性:图片画廊与轮播导航——构建沉浸式图片浏览体验

鸿蒙新特性:图片画廊与轮播导航——构建沉浸式图片浏览体验

图片浏览是移动应用中最高频的场景之一。从社交应用的照片流到电商平台的商品图集,从旅游应用的景点相册到摄影作品展示——用户对图片浏览的体验要求不断提高:流畅的切换动画、直观的缩略图导航、便捷的收藏操作、自动播放模式。HarmonyOS NEXT ArkUI 虽…

2026/7/7 0:05:16 阅读更多 →
24V DC-DC降压芯片PW2312B/PW2815,SOT23-6到SOP8-EP方案对比

24V DC-DC降压芯片PW2312B/PW2815,SOT23-6到SOP8-EP方案对比

24V稳压芯片完整选型指南 PW8600 PW75XX PW2815 PW2312B LDODC/DC全方案 一、24V稳压方案概述 24V直流电源在工业自动化、门禁系统、电梯控制、汽车电子、LED驱动、监控设备等场景中应用极广,是最常见的中压直流母线电压。要将24V母线稳定降压至下游MCU、传感器…

2026/7/7 0:05:16 阅读更多 →
RAG+知识图谱混合检索与Graph RAG核心对比

RAG+知识图谱混合检索与Graph RAG核心对比

做企业RAG落地的团队,往往容易卡在一容易踩坑的选型难题: 当需求单纯靠向量RAG搞不定、单纯靠知识图谱也搞不定,必须同时依赖「文本语义理解 实体关系推理」时,到底是做「向量图谱混合检索」就够了,还是必须上「Grap…

2026/7/7 0:07:19 阅读更多 →

周新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/7 14:24:45 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/7 12:34:47 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/6 6:52:56 阅读更多 →

月新闻