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获取两个数在元数组中的索引
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Troubleshooting code that uses the HTTP protocol

from http://blogs.msdn.com/b/jpsanders/archive/2008/06/25/troubleshooting-code-that-uses-the-http-pr...

读书 -- 偷偷暗时间之《暗时间》总结

前言 关于这本书,是通过知乎了解的,不犹豫的下单,结果一发不可收拾。不得不说,作者刘未鹏真的很NB。 心得 懒惰的我很少写这种读书笔记,但是既然读了这本书,那么就应该做些什么才对,例如总结阅读后的知...

【OpenCV】摄像机标定+畸变校正

通过MATLAB和OpenCV对摄像机进行标定,附程序!

个人对面试者和面试官的几点经验总结

近期因为公司招人的原因做了回面试官,做了些许总结以备自戒。面试者: 大部分面试者都有些紧张,其实很正常,我自己面试的时候感觉比他们紧张多了,而且刚开始的时候我自己虽然是面试官,也会感觉很紧张,生怕因为...

Uboot小结

http://www.360doc.com/content/11/0226/17/1317564_96340809.shtml   1. 下面代码是系统启动后U-boot上电后运行的第一段代码,他...

设计模式:单例模式(Singleton)

单例模式在23个设计模式中算得上是最简单的一个了,也行你会有异议,那就换成“最简单之一”,这样就严谨了很多。   单例模式:保证一个类仅有一个实例,并提供一个访问它的全局访问点。   适用性:当类...

面试经验

博主毕业快满三年了,由于种种原因想换一份工作。学了7年计算机技术,在目前的行业用到的技术不多,还是想去寻找一份互联网行业的工作,这样更能学以致用发挥自己的特长。从上次更新博客到现在已经三周左右了,这三...

机器视觉学习笔记(5)——基于OpenCV的单目摄像机标定

机器视觉学习笔记(5)——基于OpenCV的单目摄像机标定标签(空格分隔): 机器视觉本文CameraCalibrator类源代码来自于OpenCV2 计算机视觉编程手册(Robert Laganie...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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