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

网站渠道建设建设公司怎么做网站运营

网站渠道建设,建设公司怎么做网站运营,专业手机网站建设多少钱,网络推广图片这段代码实现了在一个非递减排序的数组中找到两个数,使它们的和等于目标值的算法。算法使用了双指针技术,具体思想如下: 算法思想: 初始化指针:定义两个指针 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.yayakq.cn/news/361850/

相关文章:

  • 网站设计方案图东莞市电池网站建设
  • 织梦php网站模板wordpress建站 app访问
  • 如何做原创小说网站游戏推广平台代理加盟
  • 四川煤矿基本建设工程公司网站网站建设方案确认表
  • 开一个网站建设公司wordpress首页五格
  • 网站seo资讯中国移动app免费下载
  • 做网站咨询以星空做的网站模板
  • 组件化网站建设网站建设 网页开发
  • 如何做个人网站wordpress本地登录密码
  • 网站设计小技巧php学什么可以做网站
  • 专门做图的网站网站建设需求原型
  • 上海美容论坛网站建设无代码开发小程序
  • xp怎么做网站wordpress模板打开慢
  • 网站建设备案优化网站存储空间
  • 什么网站做外链优化好wordpress 加内链
  • 宝塔面板建设网站个性化网站定制价格
  • 游戏开发 网站开发 难度商城类网站建设篇
  • 室内设计网站都有哪些平台wordpress 调用文章第一张缩略图
  • 做网站的软件电子极简风格装修效果图
  • 宝塔怎么做两个网站的解析福建八大员建设厅延续的网站
  • wordpress文章添加seo标题seo快速排名关键词
  • php网站助手四会市城乡规划建设局网站
  • 上海手机网站建设价格游戏代理加盟平台
  • 班级网站策划书深圳做棋牌网站建设哪家好
  • 商务网站设计报告找人做网站怕侵权
  • 网站建设工具有哪些品牌wordpress 所有文章404
  • 黄石网站建设教程wordpress如何加跳转
  • php网站开发现状都用什么打开模板WordPress主题2017
  • 网站系统分析报告asp网站模板如何修改
  • 手机单页网站教程厦门 网站建设 公司