🌓

数组问题。你有一个整数数组,你有一次机会修改其中的一个值,你需要检查这个数组是否能构成一个非递减数组。

非递减,换个思路就是递增数组。检查数组元素顺序是否为递增,并允许一次例外。

阅读全文 »

课程安排问题。一共有 n 门不同的在线课程,你会得到一个 courses 数组包含每门课程的持续时间和最后期限。

你将从第 1 天开始课程学习,你 1 天只能专注一门课程,不能多门课程同时进行。

计算出你最多能完成多少门课程。

阅读全文 »

寻找系统中的重复文件。你会得到下面结构的字符串数组,这表示在 root/d1/d2/.../dm 目录下存在 n 个文件,分别命名为 f1, f2, ..., fn,文件名后括号内为文件的内容。你需要找到所有内容重复的文件,并返回文件的路径。

“root/d1/d2/…/dm f1.txt(f1_content) f2.txt(f2_content) … fn.txt(fn_content)”

阅读全文 »

N 叉树前序遍历问题。和二叉树前序遍历的区别在于…多了几个 child,仅此而已。

Given the root of an n-ary tree, return the preorder traversal of its nodes’ values.

Nary-Tree input serialization is represented in their level order traversal. Each group of children is separated by the null value (See examples)

阅读全文 »

生成指定位置的斐波那契数。Hello World 级别的问题,难点是对时间和空间复杂度的控制。

The Fibonacci numbers, commonly denoted F(n) form a sequence, called the Fibonacci sequence, such that each number is the sum of the two preceding ones, starting from 0 and 1. That is,

  • F(0) = 0, F(1) = 1
  • F(n) = F(n - 1) + F(n - 2), for n > 1.
  • Given n, calculate F(n).
阅读全文 »

你需要实现一个迭代器来扁平化一个嵌套的整数数组。嵌套整数数组中可能存在整数元素和嵌套整数数组两种元素。

如果你选择的语言有生成器机制,那么这题会很简单。我们分别从生成器和 Stack 的应用来解决这道题。

阅读全文 »