每日三题-跳跃游戏、根据身高重建队列、任务调度器

简介: 每日三题跳跃游戏根据身高重建队列任务调度器

跳跃游戏


b8e73eb0191d476582d0ffda75ff2704.png

解法一

贪心

class Solution {
    public boolean canJump(int[] nums) {
        int maxPosition = 0;
        for(int i = 0;i < nums.length;i++){
            // maxPosition 为到目前为止能够到最右边的距离
            if(i > maxPosition) return false;
            maxPosition = Math.max(maxPosition,i + nums[i]);            
            if(maxPosition >= nums.length-1) return true;
        }
        return false;
    }
}


根据身高重建队列


93a27377deb147158c50a397a41b78c9.png

class Solution {
    public int[][] reconstructQueue(int[][] people) {
        Arrays.sort(people,(int[] p1,int p2[])->{
            if(p1[0] != p2[0]) return p2[0] - p1[0];
            return p1[1] - p2[1];
        });
        List<int []> res = new ArrayList<int[]>();
        for(int[] p : people){
            res.add(p[1],p);
        }
        return res.toArray(new int[people.length][2]);
    }
}


任务调度器


0b96a2131ff74277ac5b5d5fd57a27f7.png

class Solution {
    public int leastInterval(char[] tasks, int n) {
        int [] task = new int[26];
        for(int i = 0;i < tasks.length;i++){
            task[tasks[i]-'A']++;
        }
        int max = 0;
        int maxCount = 0;
        for(int i = 0;i < 26;i++){
            if(task[i] > max){
                max = task[i];
                maxCount = 1;
            }else if(task[i] == max){
                maxCount++;
            }
        }
        return Math.max(tasks.length,(max-1)*(n+1)+maxCount);
    }
}
相关文章
|
3月前
|
Java 索引
leetcode-406:根据身高重建队列
leetcode-406:根据身高重建队列
38 0
|
算法 机器人 C语言
【二分查找】分巧克力、机器人跳跃、数的范围
开始准备蓝桥杯啦!这是计划的一部分,每天都会更新一个专题的内容,内容参考自acwing蓝桥杯辅导课,有兴趣的uu们也可以自行观看
97 0
|
3月前
【错题集-编程题】孩子们的游戏(圆圈中最后剩下的数)(约瑟夫环)
【错题集-编程题】孩子们的游戏(圆圈中最后剩下的数)(约瑟夫环)
|
3月前
|
机器学习/深度学习 算法 测试技术
【单源最短路 图论】3112. 访问消失节点的最少时间
【单源最短路 图论】3112. 访问消失节点的最少时间
|
3月前
|
算法 测试技术 C#
【树上倍增】【内向基环树】【 图论 】2836. 在传球游戏中最大化函数值
【树上倍增】【内向基环树】【 图论 】2836. 在传球游戏中最大化函数值
|
3月前
【每日一题Day314】LC1921消灭怪物的最大数量 | 贪心+排序
【每日一题Day314】LC1921消灭怪物的最大数量 | 贪心+排序
34 0
|
12月前
|
算法
算法训练Day35|860.柠檬水找零 ● 406.根据身高重建队列 ● 452. 用最少数量的箭引爆气球
算法训练Day35|860.柠檬水找零 ● 406.根据身高重建队列 ● 452. 用最少数量的箭引爆气球
|
12月前
|
算法
算法训练Day38|● 509. 斐波那契数 ● 70. 爬楼梯 ● 746. 使用最小花费爬楼梯
算法训练Day38|● 509. 斐波那契数 ● 70. 爬楼梯 ● 746. 使用最小花费爬楼梯
LeetCode 406. 根据身高重建队列
假设有打乱顺序的一群人站成一个队列,数组 people 表示队列中一些人的属性(不一定按顺序)。
73 0
LeetCode:406. 根据身高重建队列
LeetCode:406. 根据身高重建队列
76 0
LeetCode:406. 根据身高重建队列