ARTS第一周

ARTS第一周

A

Algorithm
给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。 示例: 给定 nums = [2, 7, 11, 15], target = 9 因为 nums[0] + nums[1] = 2 + 7 = 9 所以返回 [0, 1]

#本人写的简单暴力的两个for循环
function twoSum($nums, $target) {
         $count = count($nums);
         for($i=0;$i<$count;$i++) {
             for($j= $i+ 1;$j< $count;$j++) {
                 if($target - $nums[$i] == $nums[$j]) {
                     return [$i, $j];
                 }
             }
         }
}
#leecode上面执行效率最高的写法供大家参考:
function twoSum($nums, $target) {
         $v = 0;
         $map = [];
         $len = count($nums);
         for ($i = 0; $i < $len; ++$i) {
             $v = $target - $nums[$i];
             if (array_key_exists($v, $map) && $i != $map[$v]) {
                 return [$map[$v], $i];
             }
             $map[$nums[$i]] = $i;
         }
}

Review
https://itnext.io/7-things-you-need-to-know-to-get-the-most-out-of-your-laravel-model-4f915acbb47c

Tip
phpstorm windows环境下 ctrl+g 跳转到到指定行

Share
中国程序员最应该注意的单词发音:
https://github.com/shimohq/chinese-programmer-wrong-pronunciation

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据