day01

第一题

https://leetcode.cn/problems/game-play-analysis-i/submissions/632977238/

代码

复制代码
# Write your MySQL query statement below

SELECT t1.player_id, t1.event_date AS first_login

FROM Activity t1

JOIN (

    SELECT player_id, MIN(event_date) AS min_date

    FROM Activity

    GROUP BY player_id

) AS t2 ON t1.player_id = t2.player_id AND t1.event_date = t2.min_date;

第二题

https://leetcode.cn/problems/summary-ranges/?envType=problem-list-v2&envId=array

代码

复制代码
class Solution {

    public List<String> summaryRanges(int[] nums) {

        int cnt = 0;

        List<String> list = new ArrayList<>();

        StringBuilder builder = new StringBuilder();

        for(int i = 0; i < nums.length; i++){

            if(cnt == 0){

                builder.append(nums[i]);

                cnt++;

            } else {

                if(nums[i] - nums[i-1] != 1){

                    if(cnt != 1){

                        builder.append("->");

                        builder.append(nums[i-1]);

                    }

                    list.add(builder.toString());

                    cnt = 0;

                    builder.setLength(0);

                    i--;

                } else {

                    cnt++;

                }

            }

        }

        if(cnt > 0){

            if(cnt > 1){

                builder.append("->");

                builder.append(nums[nums.length-1]);

            }

            list.add(builder.toString());

        }

        return list;

    }

}

第三题

https://leetcode.cn/problems/sum-of-digits-of-string-after-convert/description/?envType=problem-list-v2&envId=**string

代码

复制代码
class Solution {

    public static final int[] table = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26};

    public int getLucky(String s, int k) {

        StringBuilder builder = new StringBuilder();

        for(int i = 0; i < s.length(); i++){

            builder.append(table[s.charAt(i) - 'a']);

        }

        int sum = 0;

        while(k-- != 0){

            sum = 0;

            for(int i = 0; i < builder.length(); i++){

                sum += builder.charAt(i) - '0';

            }

            builder.setLength(0); // 逻辑清空

            builder.append(sum);

        }

        return sum;

    }

}
相关推荐
FastBean7 分钟前
Jackson View Extension Spring Boot Starter
java·后端
Seven971 小时前
剑指offer-79、最⻓不含重复字符的⼦字符串
java
皮皮林55111 小时前
Java性能调优黑科技!1行代码实现毫秒级耗时追踪,效率飙升300%!
java
冰_河11 小时前
QPS从300到3100:我靠一行代码让接口性能暴涨10倍,系统性能原地起飞!!
java·后端·性能优化
地平线开发者12 小时前
SparseDrive 模型导出与性能优化实战
算法·自动驾驶
董董灿是个攻城狮12 小时前
大模型连载2:初步认识 tokenizer 的过程
算法
地平线开发者12 小时前
地平线 VP 接口工程实践(一):hbVPRoiResize 接口功能、使用约束与典型问题总结
算法·自动驾驶
罗西的思考13 小时前
AI Agent框架探秘:拆解 OpenHands(10)--- Runtime
人工智能·算法·机器学习
桦说编程14 小时前
从 ForkJoinPool 的 Compensate 看并发框架的线程补偿思想
java·后端·源码阅读