zoukankan      html  css  js  c++  java
  • leetcode 1893

    记录一下每日一题。

     

     简单题,没什么好说的。

     1 class Solution {
     2     public boolean isCovered(int[][] ranges, int left, int right) {
     3         int[] tags = new int[51];
     4         for(int i = 0; i < 51; i++){
     5             tags[i] = 0;
     6         }
     7         for(int i = 0; i < ranges.length; i++){
     8             int start = ranges[i][0];
     9             int end = ranges[i][1];
    10             for(int j = start; j <= end; j++){
    11                 tags[j]++;
    12             }
    13         }
    14         boolean ret = true;
    15         for(int i = left; i <= right; i++){
    16             if(tags[i] < 1){
    17                 ret = false;
    18                 break;
    19             }
    20         }
    21         return ret;
    22     }
    23 }

    个人觉得,官方题解是好一点,但麻烦了不少。

    顺便记录一下官方题解

     1 class Solution {
     2     public boolean isCovered(int[][] ranges, int left, int right) {
     3         int[] diff = new int[52];
     4         for(int[] range : ranges){
     5             ++diff[range[0]];
     6             --diff[range[1] + 1];
     7         }
     8         int cur = 0;
     9         for(int i = 1; i <= 50; i++){
    10             cur += diff[i];
    11             if(i >= left && i <= right && cur < 1){
    12                 return false;
    13             }
    14         }
    15         return true;
    16     }
    17 }

    闲在家中,不如写到题。

    20210723

  • 相关阅读:
    面试题6 重建二叉树
    面试题5 从尾到头打印链表
    面试题4 替换空格
    面试题3 二维数组中查找
    面试题2 单例
    C++ 强制类型转换
    C++ 11 新特性
    STL 函数对象
    STL 算法
    OpenSSH多路复用Multiplexing配置
  • 原文地址:https://www.cnblogs.com/yu-xia-zheng-ye/p/15050918.html
Copyright © 2011-2022 走看看