LeetCode Array专题

原创 2017年01月02日 23:13:34

我们工作面试和提高自身数据结构和算法能力的时候往往需要刷刷题,我选择LeetCode是通过一个留学论坛了解的。专业,覆盖语种全面。

提前说说刷题的心得:

  • 尽量手写代码,少使用IDE的代码补全和智能提示。既然是提升和锻炼自己的代码功底,那就没有理由再犯没有IDE写代码会死症
  • 让自己去思考本身就是一件艰难的事,所以如果遇到困难,可以借鉴但切不可抄袭他人思考成果。不然刷题就没有意义了,别贪多贪快,自己思考的才是最好的

进入LeetCode官方网站,你会看到醒目的Start coding now,没有账号的同学赶快注册吧,点击此处可以进入题目分类,接着可以根据自己的实际情况,通过难易程度选择题目(PS: 带锁的需要花钱),我是先易后难,找点信心再说 ��。

选择题目后就开始刷题之旅吧,官方提供多种语言的支持,可以实时运行检测代码,也可以自己设置自定的Testcase,介绍到此,祝各位刷题愉快,学业有成,工作顺利~

LeetCode

本来准备所有题目都放在一篇博文,创建专栏后发现不合适,而如果拆分每一个题目为一篇博文更不现实,想着LeetCode本身就有题目的分类,那么就按照Tag的形式来进行文章的归纳吧。

Array

1. Two Sum

Tag : Array Hash Table

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.

方式一 暴力实现

public static int[] twoSum(int[] nums, int target) {
  int[] result = new int[2];
  for (int k = 0; k < nums.length; k++) {
    for (int l = k + 1; l < nums.length; l++) {
      if (nums[k] + nums[l] == target) {
        for (int p : nums) {
          if (nums[k] == p) {
            result[0] = k;
          }
          if (nums[l] == p) {
            result[1] = l;
          }
        }
        return result;
      }
    }
  }
  return result;
}

问题分析

从问题来看,由于题目给了限制,也就是说给定的数组中肯定仅有两个数满足条件,我使用简单的冒泡挨个相加判断是否满足条件而得到答案。

  • 第一/二层通过嵌套for循环遍历数组中每个数与其他数之和
  • 取得两个数后,通过第三个增强for获取两个数在元数组中的索引
版权声明:本文为博主原创文章,未经博主允许不得转载。

Java中静态代码块,非静态代码块,以及父类与子类的构造方法的之间调用顺序

 一、对象的初始化顺序:(java类加载器加载类的顺序:http://blog.csdn.net/crazycoder2010/article/details/6288732) (1)加载父类...

unordered_set的count函数

1 if an element with a value equivalent to k is found, or zero otherwise. 也就是说,count函数只会返回1或者0。...

LeetCode专题----Array

1、414. Third Maximum Number 题目:Given a non-empty array of integers, return the third maximum number...

LeetCode Patching Array

  • 2016年04月17日 18:06
  • 452B
  • 下载

leetcode-tag-array

  • 2017年04月29日 22:58
  • 12KB
  • 下载

Leetcode解题笔记(Array)

源码见github https://github.com/Kelvinmao/Leetcode/tree/master/Array 2016-08-08更新154.Find Minimum in Ro...

【LeetCode-面试算法经典-Java实现】【153-Find Minimum in Rotated Sorted Array(找旋转数组中的最小数字)】

【153-Find Minimum in Rotated Sorted Array(找旋转数组中的最小数字)】【LeetCode-面试算法经典-Java实现】【所有题目目录索引】原题  Suppose...

【LeetCode-面试算法经典-Java实现】【154-Find Minimum in Rotated Sorted Array II(找旋转数组中的最小数字II)】

【154-Find Minimum in Rotated Sorted Array II(找旋转数组中的最小数字II)】【LeetCode-面试算法经典-Java实现】【所有题目目录索引】原题  Fo...

【LeetCode-面试算法经典-Java实现】【033-Search in Rotated Sorted Array(在旋转数组中搜索)】

【033-Search in Rotated Sorted Array(在旋转数组中搜索)】【LeetCode-面试算法经典-Java实现】【所有题目目录索引】原题  Suppose a sorted...

[Leetcode][Rotate Array]一种对连续内存空间进行的循环移位的巧妙解法(O(1)的空间、O(n)的时间)

本文最初发表:http://03071344.lofter.com/post/10871e_2c4556 本文讨论如何对一段连续的内存空间(如int型数组、char型数组)的内容进行循环移动。例...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:LeetCode Array专题
举报原因:
原因补充:

(最多只允许输入30个字)