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

杭州网站建设机构网站音乐播放代码

杭州网站建设机构,网站音乐播放代码,新公司做网站怎么弄,移动端响应式布局一、提出问题 给定一个整数数组 nums 和一个整数目标值 target#xff0c;请你在该数组中找出 和为目标值 target 的那 两个 整数#xff0c;并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是#xff0c;数组中同一个元素在答案里不能重复出现。 你可以按…一、提出问题 给定一个整数数组 nums 和一个整数目标值 target请你在该数组中找出 和为目标值 target  的那 两个 整数并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是数组中同一个元素在答案里不能重复出现。 你可以按任意顺序返回答案。 示例 1 输入nums [2,7,11,15], target 9 输出[0,1] 解释因为 nums[0] nums[1] 9 返回 [0, 1] 。示例 2 输入nums [3,2,4], target 6 输出[1,2]示例 3 输入nums [3,3], target 6 输出[0,1] 提示 2 nums.length 104-109 nums[i] 109-109 target 109只会存在一个有效答案进阶你可以想出一个时间复杂度小于 O(n2) 的算法吗 二、解决问题 1、利用暴力枚举解决 1思路 这应该是最简单的思路即列出所有可能的组合然后判断这些组合的和是否符合条件。 2代码 /*** Note: The returned array must be malloced, assume caller calls free().*/ int* twoSum(int* nums, int numsSize, int target, int* returnSize){for(int i0;inumsSize-2;i)for(int ji1;jnumsSize-1;j){if(nums[i]nums[j]target){int* retmalloc(sizeof(int)*2);ret[0]i;ret[1]j;*returnSize2;return ret;}}*returnSize0;return NULL;} 3复杂度 时间复杂度O(N^2)其中 N 是数组中的元素数量。最坏情况下数组中任意两个数都要被匹配一次。空间复杂度O(1)。2、利用哈希表解决 1思路 注意到方法一的时间复杂度较高的原因是对于数组中的一个数x寻找 target - x 的时间复杂度过高。因此我们需要一种更优秀的方法能够快速寻找数组中是否存在目标元素。如果存在我们需要找出它的索引。 使用哈希表可以将寻找 target - x 的时间复杂度降低到从 O(N) 降低到 O(1)。 我们创建一个哈希表对于每一个 x我们首先查询哈希表中是否存在 target - x然后将 x 插入到哈希表中即可保证不会让 x 和自己匹配。 2代码 struct hashTable {int key;int val;UT_hash_handle hh; };struct hashTable* hashtable;struct hashTable* find(int ikey) {struct hashTable* tmp;HASH_FIND_INT(hashtable, ikey, tmp);return tmp; }void insert(int ikey, int ival) {struct hashTable* it find(ikey);if (it NULL) {struct hashTable* tmp malloc(sizeof(struct hashTable));tmp-key ikey, tmp-val ival;HASH_ADD_INT(hashtable, key, tmp);}else {it-val ival;} }int* twoSum(int* nums, int numsSize, int target, int* returnSize) {hashtable NULL;for (int i 0; i numsSize; i) {struct hashTable* it find(target - nums[i]);if (it ! NULL) {int* ret malloc(sizeof(int) * 2);ret[0] it-val, ret[1] i;*returnSize 2;return ret;}insert(nums[i], i);}*returnSize 0;return NULL; } 3复杂度 时间复杂度O(N)其中 N 是数组中的元素数量。对于每一个元素 x我们可以 O(1)地寻找 target - x。空间复杂度O(N)其中 N是数组中的元素数量。主要为哈希表的开销。总结回顾 这是leetcode的第一道题首先我想到的就是双for循环解决由于比较熟悉C因此使用C语言来解答解答过程中对参数的含义稍微懵了一下不过看别人的答案明白了参数的含义以及应该如何返回。后来想到作为算法题应该可以更讲究技巧的果然高手们想到了哈希表。数据结构的知识已经还给老师了对于别人的代码里的哈希操作只是大概了解后续要恶补一下数据结构。另外对于时间复杂度、空间复杂度只有一个名词概念复杂度是怎么算怎么定义的呢也要认真学习一下。否则这些基本概念不熟悉就来刷题只能贻笑大方了。第一次刷题收获良多坚持每天至少刷一题吧不为别的就为了活动活动脑袋巩固一下语言知识。
http://www.hn-smt.com/news/72605/

相关文章:

  • 题解:洛谷 P9871([NOIP2023] 天天爱打卡)
  • 2025年十大靠谱AI搜索品牌公司排行榜,精选AI搜索公司推
  • MQ生产者确认机制捕获到消息投递失败后如何重试?
  • 2025年正规奔驰发动机厂家排名,M254/M274/M28
  • PyTorch2 Python深度学习 - 简介以及入门 - 实践
  • 2025年十大免费SCADA系统公司排行榜,国产开源的SCA
  • 读社会工程:防范钓鱼欺诈(卷3)04工具包
  • 2025年热门的上海旋转蒸发器最新TOP厂家排名
  • 2025年评价高的速冻食品包装机最新TOP厂家排名
  • 降ai率工具哪个好?多维度评测推荐
  • 降ai率免费工具推荐:2025年实用工具盘点
  • AI写论文工具推荐:2025年高效辅助平台盘点
  • 2025年知名的ENF级除醛母婴板厂家最新实力排行
  • 增强AI股票预测分析报告 - 2025年11月28日
  • 2025年下半年履带钻机品牌综合推荐指南:十大优质供应商盘点
  • 2025高性价比管理咨询公司哪家好+企业咨询培训公司推荐清单
  • AutoVEI Truck Explorer Locksmith 2025: 700 Tokens for Truck Programming Diagnostics
  • 4433
  • Arista EOS平台安全漏洞分析与修复指南
  • 上海国际学科哪家好?2025 IB 培训机构权威榜单
  • 痞子衡嵌入式:i.MXRT中FlexSPI外设速度上限的三个影响因子(数据手册里的纠结)
  • 金融科技中网络安全的关键作用
  • Go语言设计模式:适配器模式详解 - 实践
  • 空间够造+花钱够省!红旗HS6霸榜家用大五座混动推荐
  • Codeforces Round 1066 (Div. 1 + Div. 2) 比赛总结
  • 【机器学习】突破分类瓶颈:用逻辑回归与Softmax回归解锁多分类世界 - 指南
  • 2025.11.27
  • 云斗学院 NOIP 考前练手公益赛 Round 1 题目分析
  • ABC386 VP总结
  • 编程中的枚举法与数学上的穷举法有何区别?