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

C++利用键值对计算某一个数对应的最值及其索引位置

目录

  • 一、算法概述
  • 二、代码实现
    • 1、计算最值
    • 2、计算最值及其索引
  • 三、结果展示

在这里插入图片描述

本文由CSDN点云侠原创,原文链接。如果你不是在点云侠的博客中看到该文章,那么此处便是不要脸的爬虫与GPT。

一、算法概述

  类似下图所示,计算第一列中1或2对应的最大值。
在这里插入图片描述

二、代码实现

1、计算最值

#include <map>
#include <vector>
#include <iostream>int main() 
{// 示例数据std::vector<std::pair<int, int>> data = { {1, 100}, {1, 101}, {1, 102}, {2, 100}, {2, 101}, {2, 102} };// 使用std::map来存储每个键的最大值std::map<int, int> maxValues;// 迭代数据for (const auto& pair : data) {// 如果这个键还没有在map中,或者当前值大于map中存储的值,更新它if (maxValues.find(pair.first) == maxValues.end() || pair.second > maxValues[pair.first]) {maxValues[pair.first] = pair.second;}}// 输出结果for (const auto& maxPair : maxValues) {std::cout << "Column1 value " << maxPair.first << " has a maximum Column2 value of " << maxPair.second << std::endl;}return 0;
}

2、计算最值及其索引

#include <map>
#include <vector>
#include <iostream>int main() 
{// 示例数据,每个pair是{第一列的值, 第二列的值}std::vector<std::pair<int, int>> data = { {1, 100}, {1, 101}, {1, 102}, {2, 100}, {2, 101}, {2, 102} };// 使用std::map来存储每个键的最大值的索引std::map<int, int> maxIndices;// 使用std::map来存储每个键的当前最大值std::map<int, int> maxValues;// 迭代数据,i 是行数索引for (int i = 0; i < data.size(); ++i) {const auto& pair = data[i];// 检查是否需要更新最大值和行数索引if (maxValues.find(pair.first) == maxValues.end() || pair.second > maxValues[pair.first]) {maxValues[pair.first] = pair.second;maxIndices[pair.first] = i;  // 更新行数索引}}// 输出结果for (const auto& maxIndex : maxIndices) {std::cout << "Column1 value " << maxIndex.first<< " has a maximum Column2 value in row " << maxIndex.second << std::endl;}return 0;
}

三、结果展示

Column1 value 1 has a maximum Column2 value of 102
Column1 value 2 has a maximum Column2 value of 102Column1 value 1 has a maximum Column2 value in row 2
Column1 value 2 has a maximum Column2 value in row 5
http://www.lryc.cn/news/334242.html

相关文章:

  • conda修改默认安装python版本为指定版本
  • 显示学习番外篇(基于树莓派Pico) -- 游戏(TODO)
  • 顺序表实战——基于顺序表的通讯录
  • 创建型模式--1.单例模式【巴基速递】
  • 用 Wireshark 解码 H.264
  • 鸿蒙TypeScript学习第10天:【String(字符串)】
  • 【201】Java8读取JSON树形结构并插入到MySQL数据库表中
  • AI“复活”:慰藉心灵还是触碰禁忌?一文看懂技术与伦理的较量|TodayAI
  • Jackson @JsonUnwrapped注解扁平化 序列化反序列化数据
  • 日期时间相关的类
  • 微信小程序脚本的执行顺序
  • zabbix监控警告
  • YOLOv9架构图分享
  • 全自动封箱机的工作原理:科技与效率的完美结合
  • 【管理咨询宝藏48】AA银行信息科技提升分析报告
  • 循序表实战——基于循序表的通讯录
  • Java编程规范及最佳实践
  • 90天玩转Python—07—基础知识篇:Python中运算符详解
  • C语言 位域
  • 【LeetCode热题100】【技巧】颜色分类
  • 笔记本电脑win7 Wireless-AC 7265连不上wifi6
  • Linux gcc day5粘滞位
  • 单片机按键消抖常用的软硬件方法
  • 钉钉自建应用-下载excel(h5)
  • 用二八定律分析零售数据,不就更直观了吗?
  • NetSuite Saved Search-当前库存快照查询报表(二)
  • 【JavaSE】接口 详解(上)
  • 嵌入式C基础——循环队列 ringbuffer 讲解
  • 【动态规划-状态压缩dp】【蓝桥杯备考训练】:毕业旅行问题、蒙德里安的梦想、最短Hamilton路径、国际象棋、小国王【已更新完成】
  • 全坚固笔记本丨工业笔记本丨三防笔记本相较于普通笔记本有哪些优势?