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

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

跳跃游戏


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);
    }
}
相关文章
|
9月前
|
算法 机器人 C语言
【二分查找】分巧克力、机器人跳跃、数的范围
开始准备蓝桥杯啦!这是计划的一部分,每天都会更新一个专题的内容,内容参考自acwing蓝桥杯辅导课,有兴趣的uu们也可以自行观看
81 0
|
9月前
|
算法 索引
算法训练Day59|● 503.下一个更大元素II ● 42. 接雨水
算法训练Day59|● 503.下一个更大元素II ● 42. 接雨水
|
3天前
|
机器学习/深度学习 算法 测试技术
【单源最短路 图论】3112. 访问消失节点的最少时间
【单源最短路 图论】3112. 访问消失节点的最少时间
|
9月前
|
算法
算法训练Day35|860.柠檬水找零 ● 406.根据身高重建队列 ● 452. 用最少数量的箭引爆气球
算法训练Day35|860.柠檬水找零 ● 406.根据身高重建队列 ● 452. 用最少数量的箭引爆气球
|
9月前
|
算法
算法训练Day38|● 509. 斐波那契数 ● 70. 爬楼梯 ● 746. 使用最小花费爬楼梯
算法训练Day38|● 509. 斐波那契数 ● 70. 爬楼梯 ● 746. 使用最小花费爬楼梯
|
数据安全/隐私保护
【广度优先搜索】N叉树的层序遍历 | 腐烂的橘子 | 单词接龙 | 最小基因变化 | 打开转盘锁
【广度优先搜索】N叉树的层序遍历 | 腐烂的橘子 | 单词接龙 | 最小基因变化 | 打开转盘锁
【广度优先搜索】N叉树的层序遍历 | 腐烂的橘子 | 单词接龙 | 最小基因变化 | 打开转盘锁
|
Python
LeetCode 447. 回旋镖的数量
给定平面上 n 对 互不相同 的点 points ,其中 points[i] = [xi, yi] 。
60 0
用c/c++代码求解时分秒针重合次数
用c/c++代码求解时分秒针重合次数
|
定位技术
【CCCC】L3-005 垃圾箱分布 (30分),Dijkstra跑n遍 = 多源最短路
【CCCC】L3-005 垃圾箱分布 (30分),Dijkstra跑n遍 = 多源最短路
102 0
|
算法
【算法作业】实验一:轮流报数与鸡兔同笼
【算法作业】实验一:轮流报数与鸡兔同笼
116 0
【算法作业】实验一:轮流报数与鸡兔同笼