返回介绍

solution / 2100-2199 / 2118.Build the Equation / README

发布于 2024-06-17 01:03:09 字数 2928 浏览 0 评论 0 收藏 0

2118. 建立方程

English Version

题目描述

表: 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 |
+-----------------+

 

扩展: 如果幂函数不是主键,但每个幂函数在答案中都是唯一的,那么解决方案中需要改变什么?

解法

方法一

# Write your MySQL query statement below
WITH
  T AS (
    SELECT
      power,
      CASE power
        WHEN 0 THEN IF(factor > 0, CONCAT('+', factor), factor)
        WHEN 1 THEN CONCAT(
          IF(factor > 0, CONCAT('+', factor), factor),
          'X'
        )
        ELSE CONCAT(
          IF(factor > 0, CONCAT('+', factor), factor),
          'X^',
          power
        )
      END AS it
    FROM Terms
  )
SELECT
  CONCAT(GROUP_CONCAT(it ORDER BY power DESC SEPARATOR ""), '=0') AS equation
FROM T;

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文