讨论/题目交流/🏆 第 167 场力扣周赛/
🏆 第 167 场力扣周赛

欢迎小伙伴们在这里交流分享你的参赛心得以及体验。【前往竞赛

image.png

3 分 - 二进制链表转整数
5 分 - 顺次数
5 分 - 元素和小于等于阈值的正方形的最大边长
6 分 - 网格中的最短路径

展开讨论

第二题

class Solution {
    public List<Integer> sequentialDigits(int low, int high) {
        List<Integer> list = new ArrayList<>();
        while(low<high){
            int weight=maxw(low);
            int low1=low/(int)Math.pow(10,weight);
            int high1=high/(int)Math.pow(10,weight);
            if (high1*(int)Math.pow(10,weight)!=high)high1++;
            while((low1+weight)<=9&&low1<high1&&(low1!=high1)){
                int x=0;
                int l=low1;
                for(int i=weight;i>=0;i--){
                    x+=(l++)*(int)Math.pow(10,i);
                }
                if (x<=high&&x>=low) list.add(x);
                low1++;
            }
            low=(int)Math.pow(10,weight+1);
        }
        return list;
    }
    int maxw(int x){
        int sum=0;
        while(x/10!=0){
            x=x/10;
            sum++;
        }
        return sum;
    }
}
1
展开全部 10 讨论