文档章节

Leetcode(一):Two Sum

Ambitor
 Ambitor
发布于 2016/04/19 16:40
字数 695
阅读 93
收藏 0
点赞 1
评论 0

介绍

越往基础和底层学习,就越发的发现数据结构和算法的魅力,这些曾经在大学时候极为讨厌的两门枯燥乏味的学科,想不到如今也会慢慢的开始喜欢,所以从今天开始试着刷刷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
粉丝 73
博文 30
码字总数 29210
作品 0
高级程序员
leetcode题解(二叉树和递归问题)

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

吴小琪
06/26
0
0
LeetCode日记2

LeetCode-5 思路: (1)最后用子字符串操作返回string。 return s.substr(startpos, maxlength); (2)回文串的判断: 1)首先找出回文串中间连续的重复的字符。 2)再向两边进行判断 (3...

fxdhdu
2015/10/19
53
0
[LeetCode] Two Sum IV - Input is a BST 两数之和之四 - 输入是二叉搜索树

Given a Binary Search Tree and a target number, return true if there exist two elements in the BST such that their sum is equal to the given target. Example 1: Input: / 3 6/ 2 4......

机器的心脏
2017/12/06
0
0
Leetcode_Problem 16_3 Sum Closest

题目 问题网址: https://leetcode.com/problems/3sum-closest/description/ 问题描述: Given an array S of n integers, find three integers in S such that the sum is closest to a giv......

quiet_girl
03/09
0
0
Leetcode日记8

(2015/2/3) LeetCode 4 Median of Two Sorted Arrays 题目大意:找到两个已排序数组的median。 median:中间位置的值。 算法: 参考:https://leetcode.com/discuss/15790/share-my-o-log...

fxdhdu
2016/02/18
94
0
零基础python刷leetcode -- 1. Two Sum

算法很重要,但是每天也需要学学python,于是就想用python刷leetcode 的算法题,从第一题开始,从简单题开始零基础python刷leetcode之旅。 leetcode 地址 1.第一题:Two Sum Two Sum 首先过一...

linzechi
2017/11/19
0
0
[算法][LeetCode] Dynamic Programming(DP)动态规划

极值的问题一般考虑用DP [LeetCode] Coin Change 硬币找零 http://www.cnblogs.com/grandyang/p/5138186.html [LeetCode] Coin Change 2 硬币找零之二 http://www.cnblogs.com/grandyang/p/7......

素雷
2017/10/19
0
0
[LeetCode] Rotate Function 旋转函数

Given an array of integers and let n to be its length. Assume to be an array obtained by rotating the array k positions clock-wise, we define a "rotation function" on as follow:......

机器的心脏
2017/12/12
0
0
Leetcode——3Sum

原题如下: Given an array S of n integers, are there elements a, b, c in S such that a + b + c = 0? Find all unique triplets in the array which gives the sum of zero. Note: Elem......

wikison
2015/09/18
42
0
两个二进制数相加

陆小凤原创 本文讲解“两个二进制数相加”的算法题。 小白:陆大侠,你想的题目? 际小凤:leetcode的题(https://leetcode.com/),leetcode是可以挑战算法设计的地方。 题目如下: /* Giv...

奇哥十年程序
01/02
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

高效编写Dockerfile的几条准则

概述 Dockerfile 是专门用来进行自动化构建镜像的编排文件(就像Jenkins 2.0时代的Jenkinsfile是对Jenkins的Job和Stage的编排一样),我们可以通过 docker build 命令来自动化地从 Dockerfi...

小致dad
44分钟前
0
0
SpringBoot | 第十章:Swagger2的集成和使用

前言 前一章节介绍了mybatisPlus的集成和简单使用,本章节开始接着上一章节的用户表,进行Swagger2的集成。现在都奉行前后端分离开发和微服务大行其道,分微服务及前后端分离后,前后端开发的...

oKong
今天
9
0
Python 最小二乘法 拟合 二次曲线

Python 二次拟合 随机生成数据,并且加上噪声干扰 构造需要拟合的函数形式,使用最小二乘法进行拟合 输出拟合后的参数 将拟合后的函数与原始数据绘图后进行对比 import numpy as npimport...

阿豪boy
今天
7
0
云拿 无人便利店

附近(上海市-航南路)开了家无人便利店.特意进去体验了一下.下面把自己看到的跟大家分享下. 经得现场工作人员同意后拍了几张照片.从外面看是这样.店门口的指导里强调:不要一次扫码多个人进入....

周翔
昨天
1
0
Java设计模式学习之工厂模式

在Java(或者叫做面向对象语言)的世界中,工厂模式被广泛应用于项目中,也许你并没有听说过,不过也许你已经在使用了。 简单来说,工厂模式的出现源于增加程序序的可扩展性,降低耦合度。之...

路小磊
昨天
197
1
npm profile 新功能介绍

转载地址 npm profile 新功能介绍 npm新版本新推来一个功能,npm profile,这个可以更改自己简介信息的命令,以后可以不用去登录网站来修改自己的简介了 具体的这个功能的支持大概是在6这个版...

durban
昨天
1
0
Serial2Ethernet Bi-redirection

Serial Tool Serial Tool is a utility for developing serial communications, custom protocols or device testing. You can set up bytes to send accordingly to your protocol and save......

zungyiu
昨天
1
0
python里求解物理学上的双弹簧质能系统

物理的模型如下: 在这个系统里有两个物体,它们的质量分别是m1和m2,被两个弹簧连接在一起,伸缩系统为k1和k2,左端固定。假定没有外力时,两个弹簧的长度为L1和L2。 由于两物体有重力,那么...

wangxuwei
昨天
0
0
apolloxlua 介绍

##项目介绍 apolloxlua 目前支持javascript到lua的翻译。可以在openresty和luajit里使用。这个工具分为两种模式, 一种是web模式,可以通过网页使用。另外一种是tool模式, 通常作为大规模翻...

钟元OSS
昨天
2
0
Mybatis入门

简介: 定义:Mybatis是一个支持普通SQL查询、存储过程和高级映射的持久层框架。 途径:MyBatis通过XML文件或者注解的形式配置映射,实现数据库查询。 特性:动态SQL语句。 文件结构:Mybat...

霍淇滨
昨天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部