戊辰人博客

青,取之于蓝而青于蓝;冰,水为之而寒于水。

LeetCode编程挑战(No.1 Two Sum)

日期:2015年7月3日 作者: 分类:编程 阅读:988

Given an array of integers, find two numbers such that they add up to a specific target number.

The function twoSum should return indices of the two numbers such that they add up to the target, where index1 must be less than index2. Please note that your returned answers (both index1 and index2) are not zero-based.

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

Input: numbers={2, 7, 11, 15}, target=9

Output: index1=1, index2=2

思路:

1)遍历数组nums;

2)声明一个map变量,以 target – nums[i] 为键,i 为值存储在map中;

3)当进入下一次遍历时,检查muns[i]是否存在于map中,如果存在,说明当前索引值与map中该键的值所对应的索引值符合条件。

阅读全文…

LeetCode编程挑战(No.155 MinStack)

日期:2015年4月6日 作者: 分类:编程 阅读:476

LeetCode 已是一个针对程序员招聘的颇具口碑的准备面试平台。虽然主要针对北美市场,但是内容也能很好的帮助大部分国内的IT面试者。虽然关注好久了,但一直没开始。从今天起正式开始LeeCode编程挑战,计划在今年内完成所有挑战题目。

为了保证题意的准确性,对于官方的题目就不进行翻译了。对于程序员,英文阅读也是编程的基本能力之一。

编程语言:C++

No.155:MinStack

Design a stack that supports push, pop, top, and retrieving the minimum element in constant time.

  • push(x) — Push element x onto stack.
  • pop() — Removes the element on top of the stack.
  • top() — Get the top element.
  • getMin() — Retrieve the minimum element in the stack.

 

我在解题时使用双栈法,即使用一个栈保存栈中数据,一个栈同步保存栈中最小值。

阅读全文…