剑指offer--和为s的数字

embedded/2024/10/20 10:27:34/

题目描述🍗

输入一个递增排序的数组和一个数字s,在数组中查找两个数,使得它们的和正好是s。如果有多对数字的和等于s,则输出任意一对即可。

算法分析🍗

算法1:遍历所有的数字,查看其它(后面所有的)数字和当前数字相加是否为s。O(n^2)

//arr:数组起始地址
//len:数组长度
//s:需要的和
void SumTos(int* arr, int len, int s)//O(n^2)
{for (int i = 0; i < len; i++)//遍历所有数字{for (int j = i + 1; j < len; j++)//遍历i后面所有的数字{if (arr[i] + arr[j] == s)printf("%d+%d=%d\n",arr[i],arr[j],s);}}
}int main()
{int arr[] = {1,2,4,7,8,11,15};int len = sizeof(arr) / sizeof(arr[0]);int s = 15;SumTos(arr,len,s);return 0;
}

算法2.利用数据有序,用两个下标,一个在最前面,另一个在最后面,两个值相加如果等于s即找到,如果小于s则前面的下标往后移,如果大于s则后面的下标前移。

//arr:数组起始地址
//len:数组长度
//s:需要的和
void SumTos(int* arr, int len, int s)//O(n)
{int low = 0;int high = len - 1;int sum;//和while (low < high)//输出所有和为s的数字{sum = arr[low] + arr[high];if (sum == s){printf("%d+%d=%d\n", arr[low], arr[high], s);low++;}else if (sum < s)//low后移low++;else //sum>s ,high前移high--;}
}int main()
{int arr[] = {1,2,4,7,8,11,15};int len = sizeof(arr) / sizeof(arr[0]);int s = 15;SumTos(arr,len,s);return 0;
}

本篇完!🍗


http://www.ppmy.cn/embedded/12273.html

相关文章

prompt炼金:ChatGPT在文献综述中100+类高阶提示词应用

点击下方▼▼▼▼链接直达AIPaperPass &#xff01; AIPaperPass - AI论文写作指导平台 近期小编沉迷总结ChatGPT提示词&#xff0c;从之前涵盖全流程的数百条提示词到今天一步一步精炼每个流程中宝子们可能用的上的提示词。今天分享给大家文献综述相关提示词技巧。 如何提升你…

基于vue+node+mysql的视频校对系统

一、登录注册&#xff1a;包括登录&#xff0c;注册&#xff0c;忘记密码&#xff0c;验证码等常用点。 二、用户管理&#xff1a;包括用户的增删改查 三、权限管理&#xff08;请增加这个权限&#xff1a;任务分配——只有管理者才能发布和删除任务&#xff1b;管理员设置。 四…

HashData获得华为鲲鹏Validated认证 信创版图持续壮大

近日&#xff0c;经过一系列严格测试评估&#xff0c;酷克数据自研企业级HashData云数仓通过华为鲲鹏高阶调优认证&#xff0c;成功获得鲲鹏Validated技术认证书。 在本次Validated认证过程中&#xff0c;酷克数据携手北京鲲鹏联合创新中心&#xff0c;针对数据仓库的典型应用…

TiDB 6.x 新特性解读 | Collation 规则

对数据库而言&#xff0c;合适的字符集和 collation 规则能够大大提升使用者运维和分析的效率。TiDB 从 v4.0 开始支持新 collation 规则&#xff0c;并于 TiDB 6.0 版本进行了更新。本文将深入解读 Collation 规则在 TiDB 6.0 中的变更和应用。 引 这里的“引”&#xff0c;…

【简单讲解下如何学习C++】

&#x1f3a5;博主&#xff1a;程序员不想YY啊 &#x1f4ab;CSDN优质创作者&#xff0c;CSDN实力新星&#xff0c;CSDN博客专家 &#x1f917;点赞&#x1f388;收藏⭐再看&#x1f4ab;养成习惯 ✨希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出…

服务器基础知识(2)

&#x1f40c;博主主页&#xff1a;&#x1f40c;​倔强的大蜗牛&#x1f40c;​ &#x1f4da;专栏分类&#xff1a;服务器❤️感谢大家点赞&#x1f44d;收藏⭐评论✍️ 一、如何选择服务器主机 选择服务器主机时&#xff0c;需要考虑以下几个关键因素&#xff1a; 用途和需…

S-Edge网关:柔性部署,让物联网接入更统一

S-Edge网关是什么&#xff1f; 网关是在实际物理世界与虚拟网络世界相连接的交叉点&#xff0c;为了让这个交叉点尽可能的复用&#xff0c;无需每种设备都配套一种连接方式&#xff0c;边缘网关主要就是用于传感器等物理设备与网络实现数据交互的通用设备&#xff0c;也称为物…

力扣215. 数组中的第K个最大元素

Problem: 215. 数组中的第K个最大元素 文章目录 题目描述思路复杂度Code 题目描述 思路 1.维护一个小顶堆minHeap&#xff0c;并将数组nums中的前k个元素添加到minHeap中&#xff1b; 2.从nums中k后面的元素开始&#xff0c;若当前nums中的元素大于小顶堆中的堆顶元素&#xff…