当前位置: 首页 > news >正文

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; } };
http://www.jsqmd.com/news/359061/

相关文章:

  • leetcode 困难题 924. Minimize Malware Spread 尽量减少恶意软件的传播
  • leetcode 925. Long Pressed Name 长按键入-耗时100
  • 【无人机控制】模糊神经网络FNN控制器控制固定翼无人机【含Matlab源码 15083期】
  • 【ALA三维路径规划】改进的人工旅鼠算法IALA复杂三维无人机路径规划(含ALA、WOA对比)【含Matlab源码 15085期】
  • Debian挂载飞牛OS创建的RAID分区和Btrfs分区指南
  • AI原生应用领域新趋势:跨语言理解的无限可能
  • ClickHouse在车联网大数据处理中的应用案例
  • AI协作沟通不畅?计算机科学研究中AI应用架构师的3种解决方案
  • fuse-exfat
  • 数据产品视频领域:内容理解与智能推荐算法
  • Lora微调关键指标和实战
  • 下一代金融AI风险预警架构展望:AI应用架构师如何融入大模型与多模态技术?
  • 【GitHub项目推荐--DeepTutor:AI驱动的个性化学习助手平台】⭐⭐⭐⭐
  • 【无人机控制】基于matlab模糊神经网络FNN控制器控制固定翼无人机【含Matlab源码 15083期】
  • 对《深入理解计算机系统》第七章 链接的读书随笔
  • 【ALA三维路径规划】基于matlab改进的人工旅鼠算法IALA复杂三维无人机路径规划(含ALA、WOA对比)【含Matlab源码 15085期】
  • 语言模型推理能力的跨文化差异性评估
  • 基于SpringBoot和Vue的实验室预约系统设计与实现
  • AI应用架构师实战:用Docker+Kubernetes构建大规模AI服务的完整部署流水线
  • 基于springboot的群众网上高效办事系统的设计与实现
  • 基于SpringBoot和Vue的社区团购系统
  • 如何获得Agentic AI提示工程架构师认证?备考与实战经验
  • Data URL 和base64 的区别?
  • Nux Dextop仓库
  • PWS-1000型电液伺服构件疲劳试验系统
  • PLS-200型电液伺服桥梁伸缩装置试验系统
  • HiveQL - LIKE and RLIKE
  • 整机研发开发设计怎么做?2026新纪元三大趋势与成功要素解析 - 匠言榜单
  • 完整教程:人脸识别API开发者对接代码示例
  • 《Java并发编程的艺术》| 并发关键字与 JMM 核心规则