leetcode 1. 两数之和

嵌套循环解决

题干

给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。

你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。

 

示例

给定 nums = [2, 7, 11, 15], target = 9

因为 nums[0] + nums[1] = 2 + 7 = 9
所以返回 [0, 1]

 

实现

php

执行用时:1864 ms, 在所有 PHP 提交中击败了15.45%的用户
内存消耗:15.6 MB, 在所有 PHP 提交中击败了97.22%的用户
class Solution {

    /**
     * @param Integer[] $nums
     * @param Integer $target
     * @return Integer[]
     */
    function twoSum($nums, $target) {
        $answer=[];
        foreach($nums as $k=>$v){
            foreach($nums as $k1=>$v1){
                if($k==$k1){
                    //自己跟自己不能算数
                    continue;
                }
                if(($v+$v1)==$target){
                    $answer=[$k,$k1];
                    return $answer;
                }
            }
        }
    }
}

 

执行用时:8 ms, 在所有 PHP 提交中击败了100%的用户
内存消耗:16.1 MB, 在所有 PHP 提交中击败了13.89%的用户
class Solution {

    /**
     * @param Integer[] $nums
     * @param Integer $target
     * @return Integer[]
     */
    function twoSum($nums, $target) {
        $found = [];
        
        foreach ($nums as $key => $val) {
            $diff = $target - $val;
            
            if (!isset($found[$diff])) {
                $found[$val] = $key;
                continue;
            }
            
            return [$found[$diff], $key];
        }
    }
}

 

 

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇