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

扬州网站建设公元国际百度推广登录入口官网

扬州网站建设公元国际,百度推广登录入口官网,网页开发模板,建商城网站作者推荐 利用广度优先或模拟解决米诺骨牌 本文涉及的基础知识点 二分查找算法合集 题目 给你一个下标从 1 开始的整数数组 numbers #xff0c;该数组已按 非递减顺序排列 #xff0c;请你从数组中找出满足相加之和等于目标数 target 的两个数。如果设这两个数分别是 n…作者推荐 利用广度优先或模拟解决米诺骨牌 本文涉及的基础知识点 二分查找算法合集 题目 给你一个下标从 1 开始的整数数组 numbers 该数组已按 非递减顺序排列 请你从数组中找出满足相加之和等于目标数 target 的两个数。如果设这两个数分别是 numbers[index1] 和 numbers[index2] 则 1 index1 index2 numbers.length 。 以长度为 2 的整数数组 [index1, index2] 的形式返回这两个整数的下标 index1 和 index2。 你可以假设每个输入 只对应唯一的答案 而且你 不可以 重复使用相同的元素。 示例 1 输入numbers [2,7,11,15], target 9 输出[1,2] 解释2 与 7 之和等于目标数 9 。因此 index1 1, index2 2 。返回 [1, 2] 。 示例 2 输入numbers [2,3,4], target 6 输出[1,3] 解释2 与 4 之和等于目标数 6 。因此 index1 1, index2 3 。返回 [1, 3] 。 示例 3 输入numbers [-1,0], target -1 输出[1,2] 解释-1 与 0 之和等于目标数 -1 。因此 index1 1, index2 2 。返回 [1, 2] 。 参数范围 2 numbers.length 3 * 104 -1000 numbers[i] 1000 numbers 按 非递减顺序 排列 -1000 target 1000 仅存在一个有效答案 解法一二分查找 枚举第一个数然后二分查找是否存在。 class Solution { public: vector twoSum(vector numbers, int target) { for (int i 0; i numbers.size(); i) { const int iNeed target - numbers[i]; auto it std::equal_range(numbers.begin() i 1, numbers.end(), iNeed); if (it.second - it.first 0) { return vector{ i 1,(int)(it.first - numbers.begin() 1 )}; } } return { 1,2 }; } }; 解法二哈希映射 用哈希映射记录可能的第二个数及索引枚举第一个数的时候直接从哈希映射查询。 class Solution { public: vector twoSum(vector numbers, int target) { unordered_mapint, int mValueIndex; for (int i numbers.size() - 1; i 0; i–) { const int iNeed target - numbers[i]; if (mValueIndex.count(iNeed)) { return vector{i 1, mValueIndex[iNeed] 1}; } mValueIndex[numbers[i]] i; } return { 1,2 }; } }; 解法三双指针 如果numbers[left] numbers[right]小于目标数则将则left抛弃right取任何数结果都小于目标数。 如果numbers[left] numbers[right]大于目标数则将则right抛弃left取任何数结果都大于目标数。 class Solution { public: vector twoSum(vector numbers, int target) { int left 0, right numbers.size() - 1;//结果一定在[left,right]中 while (right left) { if (numbers[left] numbers[right] target) { right–; } else if (numbers[left] numbers[right] target) { left; } else { return vector{left 1, right 1}; } } return { 1,2 }; } }; 测试用例 template void Assert(const T t1, const T t2) { assert(t1 t2); } template void Assert(const vector v1, const vector v2) { if (v1.size() ! v2.size()) { assert(false); return; } for (int i 0; i v1.size(); i) { Assert(v1[i], v2[i]); } } int main() { vector numbers, res; int target; { numbers { 2, 7, 11, 15 }; target 9; Solution slu; res slu.twoSum(numbers, target); Assert(res, vector{1,2}); } { numbers { 2,3,4 }; target 6; Solution slu; res slu.twoSum(numbers, target); Assert(res, vector{1, 3}); } { numbers { -1,0 }; target -1; Solution slu; res slu.twoSum(numbers, target); Assert(res, vector{1, 2}); } //CConsole::Out(res);} 扩展阅读 视频课程 有效学习明确的目标 及时的反馈 拉伸区难度合适可以先学简单的课程请移步CSDN学院听白银讲师也就是鄙人的讲解。 https://edu.csdn.net/course/detail/38771 如何你想快 速形成战斗了为老板分忧请学习C#入职培训、C入职培训等课程 https://edu.csdn.net/lecturer/6176 相关下载 想高屋建瓴的学习算法请下载《喜缺全书算法册》doc版 https://download.csdn.net/download/he_zhidan/88348653 我想对大家说的话闻缺陷则喜是一个美好的愿望早发现问题早修改问题给老板节约钱。子墨子言之事无终始无务多业。也就是我们常说的专业的人做专业的事。如果程序是一条龙那算法就是他的是睛 测试环境 操作系统win7 开发环境 VS2019 C17 或者 操作系统win10 开发环境 VS2022 C17
http://www.pierceye.com/news/214593/

相关文章:

  • 网站开发职业访谈上海 建设工程质量监督站网站
  • 网站开发程序用什么好用新浪微博做网站
  • 什么免费推广网站好旅游订房网站开发需求文档
  • 网站运营是做啥的wordpress带会员中心主题
  • 网站设计怎么弄微信表情开放平台官网
  • 做网站纸张大小滨州网站建设模板建设
  • wordpress建站位置被跨境电商骗了怎么办
  • 巫山网站建设哇塞fm网站维护
  • 南宁百度网站推广计算机网站建设与推广
  • 汉中网站建设开发做微网站是订阅号还是服务号号
  • 中国商城网站建设h5响应式网站模板下载
  • 建设个商城网站需要多少钱网上商城系统平台官网
  • 软件开发与网站开发的区别最新源码
  • 电子商务网站建设策划中国网站建设公司排行
  • 网站的推广方式组合经验丰富的网站制作公司
  • 北京企业网站建设php制作公司网站首页
  • 保险网站建设网站 为何要 备案
  • 南宁网站设计可以找我wordpress 主题
  • 池州家居网站建设怎么样h5链接是什么意思
  • 网站添加站长统计代码凡科建站登录入口官方正版
  • 淮北做网站的公司有哪些手机网站设计只选亿企邦
  • 网站服务器打不开爱站工具网
  • php网站接口开发wordpress添加作者
  • 网站建设漂亮的模板创新网站建设工作
  • 国内做服装的网站有哪些方面wordpress邮件订阅
  • 建立个人网站主题安徽省建设厅网站打不开
  • 做互联网小程序 和网站有没有前景广州网站制作教程
  • 新网网站内部优化wordpress菜单图标
  • 深圳市龙华区住房和建设局网站网站开发连接数据库
  • 做张家界旅游网站多少钱做网站的步骤 优帮云