2118. 建立方程 🔒
题目描述
表: Terms
+-------------+------+ | Column Name | Type | +-------------+------+ | power | int | | factor | int | +-------------+------+ power 是该表具有唯一值的列。 该表的每一行包含关于方程的一项的信息。 power 是范围为 [0, 100] 的整数。 factor 是范围为 [-100,100] 的整数,且不能为零。
你有一个非常强大的程序,可以解决世界上任何单变量的方程。传递给程序的方程必须格式化如下:
- 左边 (LHS) 应该包含所有的术语。
- 右边 (RHS) 应该是零。
- LHS 的每一项应遵循
"<sign><fact>X^<pow>"
的格式,其中:<sign>
是"+"
或者"-"
。<fact>
是factor
的 绝对值。<pow>
是power
的值。
- 如果幂是
1
, 不要加上"^<pow>"
.- 例如, 如果
power = 1
并且factor = 3
, 将有"+3X"
。
- 例如, 如果
- 如果幂是
0
, 不要加上"X"
和"^<pow>"
.- 例如, 如果
power = 0
并且factor = -3
, 将有"-3"
。
- 例如, 如果
- LHS 中的幂应该按 降序排序。
编写一个解决方案来构建方程。
结果格式如下所示。
示例 1:
输入: Terms 表: +-------+--------+ | power | factor | +-------+--------+ | 2 | 1 | | 1 | -4 | | 0 | 2 | +-------+--------+ 输出: +--------------+ | equation | +--------------+ | +1X^2-4X+2=0 | +--------------+
示例 2:
输入: Terms 表: +-------+--------+ | power | factor | +-------+--------+ | 4 | -4 | | 2 | 1 | | 1 | -1 | +-------+--------+ 输出: +-----------------+ | equation | +-----------------+ | -4X^4+1X^2-1X=0 | +-----------------+
扩展: 如果幂函数不是主键,但每个幂函数在答案中都是唯一的,那么解决方案中需要改变什么?
解法
方法一
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
|