文档章节

Leetcode PHP题解--D104 167. Two Sum II - Input array is sorted

skys215
 skys215
发布于 07/16 09:31
字数 317
阅读 10
收藏 0
PHP

D104 167. Two Sum II - Input array is sorted

题目链接

167. Two Sum II - Input array is sorted

题目分析

给定一个已经排序好的整数数组,从中寻找两个数字,使其相加之后等于给定的一个数字。

返回这两个数字对应的下标。

思路

首先想到的思路当然是逐个遍历,但是会超时。就不细说了。

之后想到的是用二分法找到小于目标数字的位置,用以减少遍历次数。

最后想到的是,把给定数组倒转过来,用isset去搜索是否存在指定加数。

最终代码

<?php
class Solution {

    /**
     * @param Integer[] $numbers
     * @param Integer $target
     * @return Integer[]
     */
    function twoSum($numbers, $target) {
        $repeatItems = array_filter(array_count_values($numbers),function($v){
            return $v>1;
        });
        $vs = array_flip($numbers);
        foreach($vs as $k => $v){
            if(isset($vs[$target-$k])){
                if(isset($repeatItems[$target-$k])){
                    return [$v, $v+1];
                }
                return [$v+1, $vs[$target-$k]+1];
            }
        }
        return [null, null];
    }
}

若觉得本文章对你有用,欢迎用爱发电资助。

© 著作权归作者所有

skys215
粉丝 9
博文 117
码字总数 34996
作品 0
深圳
后端工程师
私信 提问
LeetCode 攻略 - 2019 年 7 月上半月汇总

Create by jsliang on 2019-07-15 11:54:45 Recently revised in 2019-07-15 14:13:38 一 目录 不折腾的前端,和咸鱼有什么区别 目录 一 目录 二 前言 三 汇总  3.1 LeetCode 已攻略  3.2...

jsliang
07/15
0
0
67. Two Sum II - Input array is sorted - LeetCode

Question 167. Two Sum II - Input array is sorted Solution 题目大意:和Two Sum一样,这里给出的数组是有序的 思路:target - nums[i],这样就实现了降维了 Java实现: 别人的实现: https://l...

yysue
2018/08/16
8
0
LeetCode 攻略 - 2019 年 6 月汇总

Create by jsliang on 2019-06-28 09:03:23 Recently revised in 2019-06-28 14:56:36 一 目录 不折腾的前端,和咸鱼有什么区别 目录 一 目录 二 前言 三 汇总  3.1 已攻略  3.2 Function ...

jsliang
06/28
0
0
LeetCode 分类刷题—— Two Pointers

Two Pointers 的 Tips: 双指针滑动窗口的经典写法。右指针不断往右移,移动到不能往右移动为止(具体条件根据题目而定)。当右指针到最右边以后,开始挪动左指针,释放窗口左边界。第 3 题,第...

一缕殇流化隐半边冰霜
07/06
0
0
LeetCode 分类刷题——Two Pointers

Two Pointers 的 Tips: 双指针滑动窗口的经典写法。右指针不断往右移,移动到不能往右移动为止(具体条件根据题目而定)。当右指针到最右边以后,开始挪动左指针,释放窗口左边界。第 3 题,第...

一缕殇流化隐半边冰霜
07/03
0
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周日乱弹 —— 别问,问就是没空

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @tom_tdhzz :#今日歌曲推荐# 分享容祖儿/彭羚的单曲《心淡》: 《心淡》- 容祖儿/彭羚 手机党少年们想听歌,请使劲儿戳(这里) @wqp0010 :周...

小小编辑
今天
315
7
golang微服务框架go-micro 入门笔记2.1 micro工具之micro api

micro api micro 功能非常强大,本文将详细阐述micro api 命令行的功能 重要的事情说3次 本文全部代码https://idea.techidea8.com/open/idea.shtml?id=6 本文全部代码https://idea.techidea8....

非正式解决方案
今天
5
0
Spring Context 你真的懂了吗

今天介绍一下大家常见的一个单词 context 应该怎么去理解,正确的理解它有助于我们学习 spring 以及计算机系统中的其他知识。 1. context 是什么 我们经常在编程中见到 context 这个单词,当...

Java知其所以然
昨天
5
0
Spring Boot + Mybatis-Plus 集成与使用(二)

前言: 本章节介绍MyBatis-Puls的CRUD使用。在开始之前,先简单讲解下上章节关于Spring Boot是如何自动配置MyBatis-Plus。 一、自动配置 当Spring Boot应用从主方法main()启动后,首先加载S...

伴学编程
昨天
8
0
用最通俗的方法讲spring [一] ──── AOP

@[TOC](用最通俗的方法讲spring [一] ──── AOP) 写这个系列的目的(可以跳过不看) 自己写这个系列的目的,是因为自己是个比较笨的人,我曾一度怀疑自己的智商不适合干编程这个行业.因为在我...

小贼贼子
昨天
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部