zoukankan      html  css  js  c++  java
  • 1725. Number Of Rectangles That Can Form The Largest Square

    package LeetCode_1725
    
    /**
     * 1725. Number Of Rectangles That Can Form The Largest Square
     * https://leetcode.com/problems/number-of-rectangles-that-can-form-the-largest-square/
     * You are given an array rectangles where rectangles[i] = [li, wi] represents the ith rectangle of length li and width wi.
    You can cut the ith rectangle to form a square with a side length of k if both k <= li and k <= wi.
    For example, if you have a rectangle [4,6], you can cut it to get a square with a side length of at most 4.
    Let maxLen be the side length of the largest square you can obtain from any of the given rectangles.
    Return the number of rectangles that can make a square with a side length of maxLen.
    
    Example 1:
    Input: rectangles = [[5,8],[3,9],[5,12],[16,5]]
    Output: 3
    Explanation: The largest squares you can get from each rectangle are of lengths [5,3,5,5].
    The largest possible square is of length 5, and you can get it out of 3 rectangles.
    
    Example 2:
    Input: rectangles = [[2,3],[3,7],[4,3],[3,7]]
    Output: 3
    
    Constraints:
    1. 1 <= rectangles.length <= 1000
    2. rectangles[i].length == 2
    3. 1 <= li, wi <= 10^9
    4. li != wi
     * */
    class Solution {
        /*
        * solution: Time:O(n), Space:O(1)
        * */
        fun countGoodRectangles(rectangles: Array<IntArray>): Int {
            var count = 0
            var globalMax = 0
            for (rectangle in rectangles) {
                //find out current max length of slide for square
                val currentMax = Math.min(rectangle[0], rectangle[1])
                if (currentMax > globalMax) {
                    count = 1
                    globalMax = currentMax
                } else if (currentMax == globalMax) {
                    count++
                }
            }
            return count
        }
    }
  • 相关阅读:
    .Net下RabbitMQ的使用(1) 初识RabbitMQ
    Android GridView用法,用到了BaseAdapter
    android 代码布局简单的例子
    ActivityGroup的简单用法(1)详细讲解
    devc++中编译含WINSOCK的代码出现错误的解决方法
    Qt源码分析之QPointer
    QML基础——初识Qt Quick Designer
    Qt源码分析之信号和槽机制
    QML基础——UI布局管理
    Qt源码分析之QObject
  • 原文地址:https://www.cnblogs.com/johnnyzhao/p/14291879.html
Copyright © 2011-2022 走看看