news 2026/5/28 17:37:30

leetcode 923. 3Sum With Multiplicity 三数之和的多种可能

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
leetcode 923. 3Sum With Multiplicity 三数之和的多种可能

Problem: 923. 3Sum With Multiplicity 三数之和的多种可能

排序,哈希表记录每个数字的频次,双循环,拿到两个数字,最后一个数字相减得到,然后通过排列组合计算答案,需要考虑是否存在这样的情况,而且a, c不能重复的

Code

class Solution { public: const int modulo = 1e9 + 7; int threeSumMulti(vector<int>& arr, int target) { sort(arr.begin(), arr.end()); unordered_map<int, long long> ump; for(int& i : arr) { ump[i]++; } int n = arr.size(), a, c, f; unsigned long long ans = 0; for(int i = 0; i < n - 2; i++) { a = arr[i]; if(i > 0 && arr[i]==arr[i-1]) { continue; } for(int j = i + 1; j < n - 1; j++) { c = arr[j]; if(j > i + 1 && arr[j]==arr[j-1]) { continue; } f = target - a - c; if(f < c) { continue; } if(ump.count(f) != 0) { if(a == c && a == f) { if(ump[f] >= 3) { ans += ump[f] * (ump[f] - 1) * (ump[f] - 2) / 6; } else { continue; } } else if(a == c) { ans += ump[a] * (ump[a]-1) / 2 * ump[f]; } else if(c == f) { if(ump[f] >= 2) { ans += ump[f] * (ump[f] -1 ) / 2 * ump[a]; } else { continue; } } else if(a!=c && c!=f && a!=f){ ans += ump[f] * ump[a] * ump[c]; } ans %= modulo; } } } return ans; } };
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/24 7:27:39

PLS-200型电液伺服桥梁伸缩装置试验系统

PLS-200型电液伺服桥梁伸缩装置试验系统 一、功能特点&#xff1a; 1. 电液伺服桥梁伸缩装置试验系统简称为桥梁伸缩缝试验机&#xff0c;用于检测标准中规定的伸缩装置整体性能要求的项目。正常状态以及各种复杂状态下的伸缩装置变位均匀性试验、摩擦阻力试验&#xff0c;实…

作者头像 李华
网站建设 2026/5/19 21:10:24

磁耦合谐振式无线电能传输系统的探索与实现

磁耦合谐振式 无线电能传输电路系统板 LCC-S拓扑补偿网络 发射端电路采用Stm32f103c8t6主控&#xff0c;四路互补带死区的高频PWM与ir2110全桥驱动MOS管。 同时利用LCC器件谐振&#xff0c;所有参数确定和计算由maxwell和simulink计算得出。 接收电路利用S谐振网络补偿。 同时输…

作者头像 李华
网站建设 2026/5/28 13:49:53

探索双闭环 PI 控制的移相全桥变换器

双闭环PI控制的移相全桥变换器。 下图为仿真模型图&#xff0c;4个开关管对应的pwm波形图以及输出电压电流波形图和闭环性能测试输出波形图。 在电力电子领域&#xff0c;双闭环 PI 控制的移相全桥变换器可是个相当重要的存在。今天咱就来唠唠它&#xff0c;顺便结合一些仿真模…

作者头像 李华
网站建设 2026/5/22 10:30:09

P8448 [LSOT-1] 暴龙的土豆

记录72 #include<bits/stdc.h> using namespace std; int main(){long long t,n,cnt;cin>>t;while(t--){cnt0;cin>>n;for(long long i2;i*i*i<n;i){while(n%(i*i*i)0){cnt;n/i*i*i;} }cout<<cnt<<endl;}return 0; }题目传送门https://www.lu…

作者头像 李华
网站建设 2026/5/27 17:24:24

45545634

555454546

作者头像 李华
网站建设 2026/5/24 8:38:44

入门指南:基于 CANN 仓库快速理解AI软件栈开发流程

对于 AI 开发者而言&#xff0c;理解昇腾 CANN&#xff08;Compute Architecture for Neural Networks&#xff09;AI 软件栈的开发流程&#xff0c;是解锁昇腾 NPU 硬件算力、打造高性能 AI 应用的关键。本文以 CANN 官方仓库为核心&#xff0c;从环境搭建、核心概念拆解、实操…

作者头像 李华