首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

学习笔记:Go语言,找出数组中和为给定值的两个元素的下标

拼尽全力,逼自己优秀一把,青春已所剩不多。

题目:找出数组中和为给定值的两个元素的下标,例如数组[1,3,5,8,7],找出两个元素之和等于8的下标分别是(0,4)和(1,2)

PS:因楼主现在自学Go,所以很多Go的小demo习惯上先用php实现一遍,再用Go语言练习一遍,加深自己的印象。同时也比较php和Go的些许区别

PHP实现该算法

$arr = [1,3,5,8,7];

$sum = 8;

$key = [];

for ($i =0; $i< count($arr); $i++) {

for ($j = $i+1; $j < count($arr); $j++) {

if ($arr[$i] + $arr[$j] == $sum) {

$key[] = $i.','.$j;

}

}

}

var_dump($key);

结果

代码是自上而下顺序执行,其实大家也可以封装成一个函数。在以后做项目的时候,尽量使用面向对象的习惯编写代码,如

Go 语言实现该算法

算法1:直接把php的写法转换成Go的写法

结果:go run demo.go 后返回结果也是 (0,4) (1,2)。其实这样做就是直接把php实现该算法的代码直接转成Go写法。所以我们必须要掌握Go语言的写法。

算法2:优化下源代码并封装成一个函数

结果返回

(0,4)

(1,2)

  • 发表于:
  • 原文链接https://page.om.qq.com/page/OSg55uvyOt1DBLtmk4LbpdRA0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

相关快讯

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券