- 标签:
- 【题单】滑动窗口与双指针 (102)
- 【题单】数学算法 (91)
- 【题单】位运算 (54)
- 【题单】图论算法 (48)
- Important (38)
- 【题单】网格图(DFS/BFS/综合应用) (30)
- 【题单】常用数据结构(前缀和/差分/栈/队列/堆/字典树/并查集/树状数组/线段树) (24)
- 面试题 (13)
- LeetCode 热题 100 (13)
- Redis (10)
- 面试经典 150 题 (5)
- LeetCode 周赛 (3)
- 动态规划 (3)
- 前缀和 (2)
- LLM (1)
- 数论 (1)
- 差分 (1)
- 计算机理论 (1)
整数数组的一个 排列 就是将其所有成员以序列或线性顺序排列。 • 例如,arr = [1,2,3] ,以下这些都可以视作 arr 的排列:[1,2,3]、[1,3,2]、[3,1,2]、[2,3,1] 。 整数数组的 下一个排列 是指其整数的下一个字典序更大的排列。更正式地,如果数组的所有排列根据其字典顺序从小到大排列在一个容器中,那么数组的 下一个排列 就是在这个有序容器中排在它后面的那个排列。如果不存在下一个更大的排列,那么这个数组必须重排为字典序最小的排列(即,其元素按升序排列)。 • 例如,arr = [1,2,3] 的下一个排列是 [1,3,2] 。 • 类似地,arr = [2,3,1] 的下一个排列是 [3,1,2] 。 • 而 arr = [3,2,1] 的下一个排列是 [1,2,3] ,因为 [3,2,1] 不存在一个字典序更大的排列。 给你一个整数数组 nums ,找出 nums 的下一个排列。 必须 原地 修改,只允许使用额外常数空间。
给你一个字符串 initialCurrency,表示初始货币类型,并且你一开始拥有 1.0 单位的 initialCurrency。 另给你四个数组,分别表示货币对(字符串)和汇率(实数): • pairs1[i] = [startCurrencyi, targetCurrencyi] 表示在 第 1 天,可以按照汇率 rates1[i] 将 startCurrencyi 转换为 targetCurrencyi。 • pairs2[i] = [startCurrencyi, targetCurrencyi] 表示在 第 2 天,可以按照汇率 rates2[i] 将 startCurrencyi 转换为 targetCurrencyi。 • 此外,每种 targetCurrency 都可以以汇率 1 / rate 转换回对应的 startCurrency。 你可以在 第 1 天 使用 rates1 进行任意次数的兑换(包括 0 次),然后在 第 2 天 使用 rates2 再进行任意次数的兑换(包括 0 次)。 返回在两天兑换后,最大可能拥有的 initialCurrency 的数量。 注意:汇率是有效的,并且第 1 天和第 2 天的汇率之间相互独立,不会产生矛盾。