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

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

跳跃游戏


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);
    }
}
相关文章
|
索引
【Leetcode -1721.交换链表中的节点 -2058.找出临界点之间的最小和最大距离】
【Leetcode -1721.交换链表中的节点 -2058.找出临界点之间的最小和最大距离】
60 0
|
10月前
|
Java 索引
leetcode-406:根据身高重建队列
leetcode-406:根据身高重建队列
69 0
|
5月前
|
存储 算法 定位技术
数据结构与算法学习二、稀疏数组与队列,数组模拟队列,模拟环形队列
这篇文章主要介绍了稀疏数组和队列的概念、应用实例以及如何使用数组模拟队列和环形队列的实现方法。
60 0
数据结构与算法学习二、稀疏数组与队列,数组模拟队列,模拟环形队列
|
9月前
|
容器
滑动窗口最终弹
滑动窗口最终弹
|
10月前
|
机器学习/深度学习 算法 测试技术
【单源最短路 图论】3112. 访问消失节点的最少时间
【单源最短路 图论】3112. 访问消失节点的最少时间
【图论】【深度优先搜索】【换根法】2858. 可以到达每一个节点的最少边反转次数
【图论】【深度优先搜索】【换根法】2858. 可以到达每一个节点的最少边反转次数
|
算法
怎么理解优先级翻转
怎么理解优先级翻转
149 0
LeetCode 406. 根据身高重建队列
假设有打乱顺序的一群人站成一个队列,数组 people 表示队列中一些人的属性(不一定按顺序)。
98 0
|
传感器 机器学习/深度学习 算法
基于粒子群优化算法的最佳方式设置无线传感器节点的位置,以减轻由于任何能量耗尽节点而产生的覆盖空洞附Matlab代码
基于粒子群优化算法的最佳方式设置无线传感器节点的位置,以减轻由于任何能量耗尽节点而产生的覆盖空洞附Matlab代码
LeetCode:406. 根据身高重建队列
LeetCode:406. 根据身高重建队列
109 0
LeetCode:406. 根据身高重建队列