文档章节

Leetcode(一):Two Sum

Ambitor
 Ambitor
发布于 2016/04/19 16:40
字数 695
阅读 116
收藏 1

精选30+云产品,助力企业轻松上云!>>>

介绍

越往基础和底层学习,就越发的发现数据结构和算法的魅力,这些曾经在大学时候极为讨厌的两门枯燥乏味的学科,想不到如今也会慢慢的开始喜欢,所以从今天开始试着刷刷Leetcode的题目,虽然上班后的时间并不宽松,但只要像写博文一样,坚持下来,哪怕一天刷一道题,或者几天刷一道题 我相信总有会让人欣慰的收获!

对于Leetcode网上已经有很多出色的解题思想和博文,所以我写博客的更多初衷是为了自己养成学习中不断记录的习惯,也希望在以后忘记的时候可以拿出来翻翻看。

目的

Leetcode是国外的一个网站,提供算法、sql、shell性能的题库测试,基本上在国外的大公司都必须要求的门槛,现在算法题总共有343道题目,为了提高自身水平,我也尝试着学习学习,希望自己越来越厉害,哈哈,有兴趣的大家一起刷。还可以讨论讨论 交换思路。

Two Sum

  • 题目:

    Given an array of integers, return indices of the two numbers such that they add up to a specific target.

    You may assume that each input would have exactly one solution.

    Example:

    Given nums = [2, 7, 11, 15], target = 9,

    Because nums[0] + nums[1] = 2 + 7 = 9,

    return [0, 1].

    UPDATE (2016/2/13): The return format had been changed to zero-based indices. Please read the above updated description carefully.

  • 解题:new Map<Integer,Integer>(),迭代nums数组元素,检查当前Index元素是否在Map中,如果在返回value与当前Index的数组,如果不在使用target减去当前元素,然后把差放到map中(map.put(差,当前Index);

    public class Solution {

     public int[] twoSum(int[] nums, int target) {

        if(nums==null||nums.length==0)return null;
        Map<Integer,Integer> temp=new HashMap<Integer,Integer>();
        int[] result=new int[2];
        for(int i=0;i<nums.length;i++){
            int num=nums[i];
            if(temp.containsKey(num)){
                result[0]=temp.get(num);
                result[1]=i;
                return result;
            }
            int substract= target-num;
            temp.put(substract,i);
        }
        return null;
        }
    }
  • 复杂度:O(n)的时间,O(n)的内存

  • 测试结果:


  • 思维发散:大伙能举一反三的想到其他类似结果吗?

注:版权所有转载请注明出处http://my.oschina.net/ambitor/blog/662408,作者:Ambitor

Ambitor
粉丝 75
博文 33
码字总数 33366
作品 0
深圳
技术主管
私信 提问
加载中
请先登录后再评论。
力扣刷题

1期:字符串操作 |题目 备注 | 入门级 https://leetcode-cn.com/problems/most-common-word/ https://leetcode-cn.com/problems/longest-common-prefix/ https://leetcode-cn.com/problems/......

WallenHan
01/13
0
0
算法与数据结构基础 - 数组(Array)

数组基础 数组是最基础的数据结构,特点是O(1)时间读取任意下标元素,经常应用于排序(Sort)、双指针(Two Pointers)、二分查找(Binary Search)、动态规划(DP)等算法。顺序访问数组、按下标取值...

bangerlee
2019/10/12
0
0
leetcode题解(二叉树和递归问题)

这篇博客我们主要来看二叉树和二叉树问题中使用递归来解决问题的思路。这类问题有时思路很简单,这是因为二叉树具有天然的递归结构,所以我们使用递归的解法解决二叉树有关的问题就变得非常明...

吴小琪
2018/06/26
0
0
LeetCode 解题报告索引

最近在准备找工作的算法题,刷刷LeetCode,以下是我的解题报告索引,每一题几乎都有详细的说明,供各位码农参考。根据我自己做的进度持续更新中...... 本文地址 LeetCode:Reverse Words in ...

tenos
2013/11/20
0
0
算法与数据结构基础 - 数组(Array)

数组基础 数组是最基础的数据结构,特点是O(1)时间读取任意下标元素,经常应用于排序(Sort)、双指针(Two Pointers)、二分查找(Binary Search)、动态规划(DP)等算法。顺序访问数组、按下标取值...

osc_o1mwzw8v
04/16
1
0

没有更多内容

加载失败,请刷新页面

加载更多

你看起来很好吃

你看起来很好吃 本文分享自微信公众号 - ZackSock(ZackSock)。 如有侵权,请联系 support@oschina.cn 删除。 本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。...

ZackSock
2019/10/25
19
0
Python绘制日历图和热力图

日历热力图 实现某商店2018年10月1号至2019年3月1号期间每一天盈利额(产生5000至30000区间的随机数)的数据可视化。 要求在鼠标放置每个单元格上时显示具体日期和对应数据 import datetime ...

气象学家公众号
07/03
10
0
#乔布简历#计协纳新季福利!乔布简历20元会员卡免费送

#乔布简历#计协纳新季福利!@乔布简历 20元会员卡免费送!活动规则:1)转发本微博/说说@ 三个好友;2)搜索关注“乔布堂”微信公众号,回复“BC016@你的QQ号”;截图发给计协微信公众号:j...

若川
2014/09/22
12
0
第十一届蓝桥第一场省赛题 走方格

走方格 问题描述: 在平面上有一些二维的点阵。这些点的编号就像二维数组的编号一样。从上到下依次为第 1 至第 n 行,从左到右依次为第 1 至第 m 列,每一个点可以用行号和列号来表示。现在有...

osc_kf7nv2km
33分钟前
29
0
HTTP/2协议之Stream【原理笔记】

前言 前面三篇介绍了HPPT/2的“连接前言”、“二进制桢”、“头部压缩”。本文从“流及多路复用”、“流状态”、“流量控制”、“流优先级”、“HTTP/2扩展”介绍HTTP/2协议流相关知识。 一、...

瓜农老梁
05/31
13
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部