尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

第32天(简单题中等题 数据结构)

第32天(简单题中等题 数据结构)
📅 发布时间:2026/6/19 1:03:17

打卡第三十二天
3道简单题+1道中等题

image

题目两数之和:
image

思路:哈希表,对数组中的每一个数 x,寻找数组中是否存在 target - x。创建一个哈希表,对于每一个x,我们首先查询哈希表中是否存在 target - x,然后将 x 插入到哈希表中,保证不会让 x 和自己匹配。

代码:

class Solution {
public:vector<int> twoSum(vector<int>& nums, int target) {unordered_map<int,int> freq;//创建哈希表int n = nums.size(),sum = 0;for(int i = 0;i < n;i++){auto it = freq.find(target - nums[i]);//在哈希表中查找(target - nums[i])if(it != freq.end()){// 找到目标值//freq.end() 表示"未找到"的特殊位置,return {it -> second,i};// 返回目标值的索引和当前索引}freq[nums[i]] = i;//nums[i]:数组中的当前数字; i:当前数字在数组中的索引位置}return{};}
};

image


题目与对应负数同时存在的最大正整数:
image

思路:排序+双指针
image

代码:

class Solution {
public:int findMaxK(vector<int>& nums) {sort(nums.begin(),nums.end());// 对数组进行排序for(int i = 0,j = nums.size() - 1;i < j;j--){// 初始化双指针:i从最小数开始,j从最大数开始while(i < j && nums[i] < -nums[j]){// 移动左指针i,直到找到不小于当前负最大值的数i++;}if(nums[i] == -nums[j]){// 如果找到互为相反数的两个数return nums[j];// 返回正数(因为数组已排序,nums[j]是较大的正数)}}return -1;}
};


题目可互换矩形的组数:
image

思路:遍历+哈希表,把答案增加之前遍历过的宽高比的个数,在遍历的过程中,用一个哈希表统计每个元素的出现次数。

代码:

class Solution {
public:long long interchangeableRectangles(vector<vector<int>>& rectangles) {unordered_map<double,long long> freq;// 哈希表,键是宽高比,值是该比例出现的次数long long int n = rectangles.size(),ans = 0;for(int i = 0;i < n;i++){ans += freq[rectangles[i][0]/(double)rectangles[i][1]];// 计算当前矩形的宽高比,并累加之前相同比例的矩形数量freq[rectangles[i][0]/(double)rectangles[i][1]]++;// 更新当前宽高比的出现次数}return ans;// 返回可互换矩形的总对数}
};

题目要求 i<j,如果先更新freq,再更新答案,就把 nums[j] 自己也统计进来了,相当于把 i=j 的情况也认为是好数对,所以要先更新答案再更新freq

常用枚举技巧:枚举右,维护左

耗时≈1.5小时 明天继续

相关新闻

  • 2025年11月GEO公司终极对比:如何选?10家服务商全景解析
  • 2025年11月GEO公司谁专业?权威发布推荐对比
  • 2025年11月GEO公司选择报告:哪个服务商实战案例更突出?

最新新闻

  • 深空CV实战:计算机视觉在航天任务中的硬核落地
  • OpenAI可解释机器学习教学法:重构神经网络决策叙事
  • KES 数据库迁移实战:从 Oracle/MySQL 到 KingbaseES 的平滑过渡指南
  • LangGraph重试策略:如何构建高可靠的AI工作流自动恢复机制
  • 深入解析MPC850FADS子板:PowerPC嵌入式开发硬件设计与调试实战
  • MQX RTOS MFS嵌入式文件系统:原理、API实战与性能调优指南

日新闻

  • 5分钟掌握Python进化算法:Geatpy高性能优化工具完全指南
  • Microchip 24AA044 EEPROM选型与应用全指南:从参数解析到实战编程
  • 华为的鸿蒙到底有多牛?为什么称作遥遥领先?

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号