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

河南教育平台网站建设app推广项目从哪接一手

河南教育平台网站建设,app推广项目从哪接一手,做产地证的网站,小米路由3g wordpress这段代码实现了在一个非递减排序的数组中找到两个数,使它们的和等于目标值的算法。算法使用了双指针技术,具体思想如下: 算法思想: 初始化指针:定义两个指针 left 和 right,分别指向数组的起始位置和末尾位…

在这里插入图片描述

这段代码实现了在一个非递减排序的数组中找到两个数,使它们的和等于目标值的算法。算法使用了双指针技术,具体思想如下:

算法思想:

  1. 初始化指针:定义两个指针 leftright,分别指向数组的起始位置和末尾位置。left 从左向右遍历,right 从右向左遍历。

  2. 计算当前和

    • 在循环中,每次计算 numbers[left]numbers[right] 的和,记为 sum
  3. 判断是否满足目标值

    • 如果 sum 等于目标值 target,则找到了符合条件的两个数,此时返回它们的索引(题目要求索引从1开始,所以要将数组下标 leftright 各加1)。
    • 如果 sum 小于目标值 target,说明需要更大一点的数才能达到目标值,因此将 left 指针向右移动一位,以增加 sum
    • 如果 sum 大于目标值 target,说明需要更小一点的数才能达到目标值,因此将 right 指针向左移动一位,以减小 sum
  4. 返回结果

    • 如果在循环结束后没有找到符合条件的两个数,返回一个空数组(虽然根据题目描述,总会有一个解,因此这一步通常不会被执行)。

时间复杂度

该算法的时间复杂度是 (O(n)),因为每次循环中指针 leftright 都会向中间移动,最多需要遍历整个数组一次。

总结

此算法利用了数组的有序性,通过双指针逐步逼近目标值,避免了暴力解法的多重循环,从而提升了效率。

java solution

class Solution {public int[] twoSum(int[] numbers, int target) {int left = 0;int right = numbers.length - 1;int sum = 0;int[] result = new int[2];while(left != right) {sum = numbers[left] + numbers[right];if(sum == target) {result[0] = left + 1;result[1] = right + 1;return result;}else if(sum < target) {left++;} else {right--;}}return new int[] {};     }
}
http://www.zhongyajixie.com/news/16446.html

相关文章:

  • 招聘网站的SEO怎么做百度快照是什么
  • 微信公众商城网站开发实时积分榜
  • 做物流行业网站网络推广工作内容
  • 可以做外包的网站网络营销首先要做什么
  • 奎文营销型网站建设市场营销方案怎么写
  • 辽宁千山科技做网站怎么样合肥百度搜索排名优化
  • wordpress视频播放器插件北京seo业务员
  • 网站建设寮步成都seo外包
  • 网站文档怎么加图片不显示不出来信息流广告是什么意思
  • 破解wordpress隐藏内容seo是什么意思的缩写
  • 网站后台怎么做alt标签做个网页需要多少钱?
  • 办公室设计费一般多少钱一平端点seo博客
  • 可以做微信游戏的网站有哪些百度手机助手应用商店
  • 南京网站建设制作郑州网站建设哪家好
  • 有哪些做网站好的公司外贸网站推广方法之一
  • 淘宝客推广网站怎么做网络营销的六大特征
  • 做网站千篇一律手机制作网站的软件
  • 网站建设后台什么意思郑州网站推广多少钱
  • ps网站主页按钮怎么做济南优化网络营销
  • 互联网设计师是干什么的seo是怎么优化上去
  • 重庆网站备案查询系统杭州seo网站
  • 微信小程序的推广方式seo点击排名工具
  • 男子做淫秽网站图片怎样在百度上免费做广告
  • 紫网站建设百度数据网站
  • 下什么软件做网站引擎seo如何优化
  • 南阳东莞网站建设公司企业管理咨询
  • 免费搭建商业网站最大的中文搜索引擎
  • 网站制作 网络推广品牌设计公司排名前十强
  • 河北邯郸做wap网站网站外链有多重要
  • 网站模块结构图seo优化什么意思