我知道我们可以使用在路由器路径中设置参数'/:id'.但我想创建一个不确定长度的数组,如下所示:'/:id1/:id2/:id3/...'
目前我正在管理最多三个这样的参数:
const routes: Routes = [
{ path: '/:name1', component: MyComponent, canActivate: [ LocalUserGuard ] },
{ path: '/:name1/:name2', component: MyComponent, canActivate: [ LocalUserGuard ] },
{ path: '/:name1/:name2/:name3', component: MyComponent, canActivate: [ LocalUserGuard ] }
Run Code Online (Sandbox Code Playgroud)
但是我想将它扩展到任意数量的参数.
问题:给定一个已排序的数组 A,找出 A 中元素的所有可能差异,其中每个元素都是 [1, ..., n] 范围内的整数。此外,您可以假设没有重复项。所以数组的最大大小将 <= n。
注意:由于上述限制,可能的总差异将在 [1, ..., n-1] 的范围内。
示例(对于 N=12):
输入:1、6、10、12
输出:2、4、5、6、9、11
问题与此类似,除了 n 是否。该问题中的元素数量,而不是元素的上限。
在同一个问题中也有一个答案,这个:https : //stackoverflow.com/a/8455336/2109808 这家伙声称它确实可以使用 fft 和自卷积在 O(nlogn) 中完成,但我不明白它,当我在在线卷积计算器上尝试它时,它似乎也不正确(就像这个)。
那么,有谁知道如何在 O(nlogn) 中实现这一点?
先感谢您 :)