• LeetCode刷题191117


      博主渣渣一枚,刷刷leetcode给自己瞅瞅,大神们由更好方法还望不吝赐教。题目及解法来自于力扣(LeetCode),传送门

    算法:

      题目:

      给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。

      示例 1:

      输入: 123
      输出: 321
       示例 2:

      输入: -123
      输出: -321
      示例 3:

      输入: 120
      输出: 21
      注意:

      假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−231,  231 − 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。

    解:

    public class Solution {
        public int Reverse(int x) {
    
            long temp = 0;
    
            while(x !=0 )
            {
                var pop = x % 10;
                temp = temp * 10 + pop;
    
                if(temp > int.MaxValue || temp < int.MinValue)
                {
                    return 0;
                }
    
                x = x/10;
            }
    
            return (int)temp;
        }
    }

      官方解法,传送门。其实主要在于两点,一是构建一种类似“栈”的结构,二是判断是否会溢出。官方给的解法判断是否溢出有点意思,另外可以只是用int来处理。上面的解法其实借用了long,有一点不太好。

    数据库: 

    Employee 表包含所有员工,他们的经理也属于员工。每个员工都有一个 Id,此外还有一列对应员工的经理的 Id。

    +----+-------+--------+-----------+
    | Id | Name | Salary | ManagerId |
    +----+-------+--------+-----------+
    | 1 | Joe | 70000 | 3 |
    | 2 | Henry | 80000 | 4 |
    | 3 | Sam | 60000 | NULL |
    | 4 | Max | 90000 | NULL |
    +----+-------+--------+-----------+
    给定 Employee 表,编写一个 SQL 查询,该查询可以获取收入超过他们经理的员工的姓名。在上面的表格中,Joe 是唯一一个收入超过他的经理的员工。

    +----------+
    | Employee |
    +----------+
    | Joe |
    +----------+

     

    解:

    SELECT 
    e.NAME as Employee
    FROM Employee e
    left join Employee m on e.ManagerId = m.Id 
    WHERE e.Salary > m.Salary
    

      

      官方解答,传送门

      两道简单的小题目,不过算是一个全新的开始,二狗要坚持下去啊。

      

  • 相关阅读:
    UVa1225 Digit Counting
    UVa1586 Molar mass
    UVa1585 Score
    Java中的Set
    CentOS6.5 格式化大磁盘
    Ganglia监控Hadoop与HBase集群
    Hadoop HA + HBase环境搭建(二)————HBase环境搭建
    Hadoop HA + HBase环境搭建(一)————zookeeper和hadoop环境搭建
    在树莓派上安装MongoDB
    编译运行hadoop程序
  • 原文地址:https://www.cnblogs.com/dogtwo0214/p/11875840.html
Copyright © 2020-2023  润新知