​LeetCode刷题实战626:换座位

算法的重要性,我就不多说了吧,想去大厂,就必须要经过基础知识和业务逻辑面试+算法面试。所以,为了提高大家的算法能力,这个公众号后续每天带大家做一道算法题,题目就从LeetCode上面选 !

今天和大家聊的问题叫做 换座位,我们先来看题面:
https://leetcode.cn/problems/exchange-seats/

​LeetCode刷题实战626:换座位

编写SQL查询来交换每两个连续的学生的座位号。如果学生的数量是奇数,则最后一个学生的id不交换。

按 id 升序 返回结果表。

查询结果格式如下所示。

示例
​LeetCode刷题实战626:换座位


解题

主要思路:
若id是偶数,减1
若id是奇数,加1
如果总数是奇数,最后一个不换

# Write your MySQL query statement below
select
    case
        when id%2=0 then id-1
        when id=(select count(id) from Seat) then id
        else id+1
    end as id,
    student
from Seat
order by id;


上期推文:
LeetCode1-620题汇总,希望对你有点帮助!
LeetCode刷题实战621:任务调度器
LeetCode刷题实战622:设计循环队列
LeetCode刷题实战623:在二叉树中增加一行
LeetCode刷题实战624:数组列表中的最大距离

​LeetCode刷题实战626:换座位

本篇文章来源于微信公众号:程序IT圈

原创文章,作者:栈长,如若转载,请注明出处:https://www.cxyquan.com/23887.html

(0)
上一篇 2022年6月2日 12:20
下一篇 2022年6月4日 12:15

相关推荐

发表评论

登录后才能评论