LeetCode之两数之和

1、暴力解法

kotlin 复制代码
/**
     * 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target  的那 两个 整数,并返回它们的数组下标。
     * 你可以假设每种输入只会对应一个答案,并且你不能使用两次相同的元素。
     * 你可以按任意顺序返回答案。
     */
    fun twoSum(nums: IntArray, target: Int): IntArray {
        var firstIndex = -1
        var secondIndex = -1
        if (nums.size < 2) return intArrayOf(firstIndex, secondIndex)
        for (i in 0 until nums.size) {
            val lastValue = target - nums[i]
            firstIndex = i
            for (j in i + 1..nums.size - 1) {
                if (nums[j] == lastValue) {
                    secondIndex = j
                    return intArrayOf(firstIndex, secondIndex)
                }
            }
        }
        return intArrayOf(firstIndex, secondIndex)
    }

2、需要注意的地方

边界判断不准,导致结果出错。

break只是跳出了一层循环,导致结果出错。

3、优化方式

采用hashMap的方式

相关推荐
啵啵啵鱼7 分钟前
第二章 线性表
java·数据结构·算法
虾..10 分钟前
计算机图形学:几何表示
算法
局部有解22 分钟前
Hot100 - 三数之和
数据结构·c++·算法
思茂信息1 小时前
CST技术案例:加载正弦曲线的平面螺旋天线仿真研究
算法·平面·emc·cst·电磁仿真·仿真辐射
嫂子开门我是_我哥1 小时前
敏感性分析
算法·机器学习·论文笔记
别动我齐刘海1 小时前
实时控制学习2
linux·c++·人工智能·学习·算法
有Li1 小时前
EEG脑电图数据处理基础
人工智能·算法·机器学习·语言模型·医学生
XMXFS1 小时前
小红书推荐算法底层逻辑解析:用数据思维做内容优化
python·算法·新媒体运营·推荐算法
0+1111 小时前
算法 --栈
算法·leetcode
鶴哥只手遮天1 小时前
Gmsh 源码深度解析-第 2 章 几何内核
算法·开源