首页 > 其他分享 >用 Go 剑指 Offer 57. 和为s的两个数字 (双指针)

用 Go 剑指 Offer 57. 和为s的两个数字 (双指针)

时间:2023-04-10 14:44:05浏览次数:40  
标签:right target nums int res 57 Offer Go left

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

 

示例 1:

输入:nums = [2,7,11,15], target = 9
输出:[2,7] 或者 [7,2]
示例 2:

输入:nums = [10,26,30,31,47,60], target = 40
输出:[10,30] 或者 [30,10]
 

限制:

1 <= nums.length <= 10^5
1 <= nums[i] <= 10^6

来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/he-wei-sde-liang-ge-shu-zi-lcof
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

对撞指针(双指针)

func twoSum(nums []int, target int) []int {
    right := len(nums) - 1
    var res []int

    for left := 0;left < right; {
        if nums[left] + nums[right] == target {
            res = append(res, nums[left])
            res = append(res, nums[right])
            break
        }
        if nums[left] + nums[right] > target {
            right--
        } else {
            left++
        }
    }
    return res
}

 

标签:right,target,nums,int,res,57,Offer,Go,left
From: https://www.cnblogs.com/slowlydance2me/p/17302873.html

相关文章

  • Go 语言函数闭包
    Go语言支持匿名函数,可作为闭包。匿名函数是一个"内联"语句或表达式。匿名函数的优越性在于可以直接使用函数内的变量,不必申明。以下实例中,我们创建了函数getSequence(),返回另外一个函数。该函数的目的是在闭包中递增i变量,代码如下:实例package mainimport "fmt"func ge......
  • Go语言闭包
    说到Go语言的闭包,不得不说说全局变量和局部变量全局变量的特点:1.常驻内存2.污染全局局部变量的特点:1.不常驻内存2.不污染全局而Go语言的闭包可以做到1.可以让变量常驻内存2.可以让变量不污染全局所以闭包主要是为了避免全局变量的滥用。闭......
  • Django中models模块增删改查
    1django操作数据库1.1创建表和字段fromdjango.dbimportmodelsclassBlog_Model(models.Model):name=models.CharField(db_column='name',max_length=200,blank=True,verbose_name='name')num=models.IntegerField(db_column='num�......
  • 用 Go 剑指 Offer 39. 数组中出现次数超过一半的数字 (摩尔投票)
    数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。 你可以假设数组是非空的,并且给定的数组总是存在多数元素。 //若不存在多数元素,本题就需要计数并判断示例 1:输入:[1,2,3,2,2,2,5,4,2]输出:2 限制:1<=数组长度<=50000来源:力扣(LeetCode)链......
  • mac配置vscode和go
    一安装和配置Go去这里下载Go的安装包:https://studygolang.com/dl建议下载pkg格式,懒人安装安装完毕后用goversion验证一下是否安装成功然后使用goenv查看一下go相关的环境变量主要是查看GOROOT,GOPATH,GOBINGOPATH:GO的工作目录,这个默认是~/goGOROOT:GO的安装目......
  • ChatGPT垂直行业私有数据知识库功能-咨询接口采用流式响应输出-JS和Golang实现流式响
    近期开发私有数据知识库功能,想要实现和ChatGPT聊天效果类似的逐字流式输出展示效果。GPT3.5本身就有流式聊天补全接口,后端Golang对接后,也需要能流式输出。下面就介绍下前端JS后端Golang来实现这种输出效果 大部分介绍是使用EventStream来实现,我现在不使用EventStream也来实现......
  • 用 Go 剑指 Offer 42. 连续子数组的最大和
    输入一个整型数组,数组中的一个或连续多个整数组成一个子数组。求所有子数组的和的最大值。要求时间复杂度为O(n)。 示例1:输入:nums=[-2,1,-3,4,-1,2,1,-5,4]输出:6解释: 连续子数组 [4,-1,2,1]的和最大,为 6。 提示:1<= arr.length<=10^5-100<=arr[i]<=100......
  • 用 Go 剑指 Offer 40. 最小的k个数 (Top K 问题)
    输入整数数组arr,找出其中最小的k个数。例如,输入4、5、1、6、2、7、3、8这8个数字,则最小的4个数字是1、2、3、4。 示例1:输入:arr=[3,2,1],k=2输出:[1,2]或者[2,1]示例2:输入:arr=[0,1,2,1],k=1输出:[0] 限制:0<=k<=arr.length<=100000<=arr[i] <=100......
  • GO打包到linux服务器运行
    方法二:本地编译cmd控制台到main.go文件目录下setGOARCH=amd64setGOOS=linuxgobuildmain.go会生成一个没有后缀的二进制文件main将该文件放入linux系统某个文件夹下赋予权限chmod777main最后执行./main就行了。如果想让项目在后台执行:执行nohup./main&,这样......
  • django中批量导入功能(excel)
    当我们想要通过excel来实现批量导入时,有一种方式:1.需要创建的对象data_dict={}#多个data_dict2.将每一个要创建的对象加入到一个列表当中data=[]data.append(data_dict)3.通过事务进行创建withtransaction.atomic():foriteminrange(0,len(data)):......