665. Non-decreasing Array (Medium)
数组问题。你有一个整数数组,你有一次机会修改其中的一个值,你需要检查这个数组是否能构成一个非递减数组。
非递减,换个思路就是递增数组。检查数组元素顺序是否为递增,并允许一次例外。
课程安排问题。一共有 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).
你有一个数组,允许你每次操作将任意一个元素的值 +1 或 -1,求最少需要多少操作次数让数组中的所有元素相等。
你有一个长度为 n
的数组,允许你每次操作将 n - 1
个元素的值 +1,求最少需要多少操作次数让数组中的所有元素相等。
你需要实现一个迭代器来扁平化一个嵌套的整数数组。嵌套整数数组中可能存在整数元素和嵌套整数数组两种元素。
如果你选择的语言有生成器机制,那么这题会很简单。我们分别从生成器和 Stack 的应用来解决这道题。