我在使用 SQL 解决“学校门”的代码战挑战时遇到了很多麻烦。
我尝试使用嵌套的 for 循环,但我很难弄清楚语法是什么。我什至查看了一个 Python 解决方案,看是否可以将其转换为 SQL。到目前为止,这是我的代码:
SELECT
n,
ARRAY[]::integer,
DECLARE i number(1);
DECLARE j number(i - 1);
BEGIN
FOR i IN 1 .. n + 1 LOOP
WHEN i <= n/2
THEN BEGIN
FOR j IN i - 1 .. n .. i LOOP
IF NOT EXISTS ((j + 1) % i)
BEGIN
ARRAY[j]::integer = NOT (ARRAY[j]::integer)
END
END
ELSE j = i - 1
ARRAY[j]::integer = NOT ARRAY[j]::integer
END AS res
FROM doors;
挑战链接在这里:https://www.codewars.com/kata/57c15d314677bb2bd4000017/sql