上次写文章已经是五天之前了,这来细学一下之前学过的Python吧,管他呢,继续爆杀LeetCode

一、直接代码搞起,想想用python写什么东西吧

Number  String   List     Tuple    Set   Dictionary    

1.将一个给定字符串 s 根据给定的行数 numRows ,以从上往下、从左到右进行 Z 字形排列。

比如输入字符串为 "PAYPALISHIRING" 行数为 3 时,排列如下:

P   A   H   N
A P L S I I G
Y   I   R

之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:"PAHNAPLSIIGYIR"。

请你实现这个将字符串进行指定行数变换的函数:

string convert(string s, int numRows);

输入:s = "PAYPALISHIRING", numRows = 3
输出:"PAHNAPLSIIGYIR"
package leetcode1_100;

public class l_6 {
    public String convert(String s, int numRows) {
        if (numRows == 1)
            return s;
        StringBuilder[] res = new StringBuilder[numRows];
        for (int i = 0; i < numRows; i++) {
            res[i] = new StringBuilder();
            int index = 0;
            int row = 0;
            int len = s.length();
            while (index < len) {
                while (index < len && row < numRows) {
                    char ch = s.charAt(index++);
                    res[row].append(ch);
                    row++;

                }
                if (index == len)
                    break;
                row = numRows - 2;
                while (index < len && row >= 0) {
                    char ch = s.charAt(index++);
                    res[row].append(ch);
                    row--;
                }
                row += 2;
            }
            StringBuilder ans = new StringBuilder();
            for (int i1 = 0; i1 < numRows; i1++) {
                ans.append(res[i]);
            }
            return ans.toString();
        }
        return s;
    }
    public static void main(String[] args) {
        l_6 l6 = new l_6();
        l6.convert("AB",1);
    }
}

-------------+---------+
| Column Name | Type    |
+-------------+---------+
| id          | int     |
| score       | decimal |
+-------------+---------+
Id是该表的主键。
该表的每一行都包含了一场比赛的分数。Score是一个有两位小数点的浮点值。

编写 SQL 查询对分数进行排序。排名按以下规则计算:

分数应按从高到低排列。
如果两个分数相等,那么两个分数的排名应该相同。
在排名相同的分数后,排名数应该是下一个连续的整数。换句话说,排名之间不应该有空缺的数字。
按 score 降序返回结果表。

查询结果格式如下所示。

输入: 
Scores 表:
+----+-------+
| id | score |
+----+-------+
| 1  | 3.50  |
| 2  | 3.65  |
| 3  | 4.00  |
| 4  | 3.85  |
| 5  | 4.00  |
| 6  | 3.65  |
+----+-------+
输出: 
+-------+------+
| score | rank |
+-------+------+
| 4.00  | 1    |
| 4.00  | 1    |
| 3.85  | 2    |
| 3.65  | 3    |
| 3.65  | 3    |
| 3.50  | 4    |
+-------+------+

# Write your MySQL query statement below
SELECT a.Sore,COUNT(DISTINCT b.Score) AS 'RANK'
FROM Score a, Score b
WHERE a.SCORE <= B.Score
GROUP BY a.Id
ORDER BY 'RANK'
# Write your MySQL query statement below
select score, dense_rank() over (order by score desc) as 'rank' 
#这个rank之所加引导,因为rank本身也是个个函数,直接写rank直接会报错
from scores

睡觉,die

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

编程老哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值