zoukankan      html  css  js  c++  java
  • [LC] 825. Friends Of Appropriate Ages

    Some people will make friend requests. The list of their ages is given and ages[i] is the age of the ith person. 

    Person A will NOT friend request person B (B != A) if any of the following conditions are true:

    • age[B] <= 0.5 * age[A] + 7
    • age[B] > age[A]
    • age[B] > 100 && age[A] < 100

    Otherwise, A will friend request B.

    Note that if A requests B, B does not necessarily request A.  Also, people will not friend request themselves.

    How many total friend requests are made?

    Example 1:

    Input: [16,16]
    Output: 2
    Explanation: 2 people friend request each other.
    

    Example 2:

    Input: [16,17,18]
    Output: 2
    Explanation: Friend requests are made 17 -> 16, 18 -> 17.

    Example 3:

    Input: [20,30,100,110,120]
    Output: 
    Explanation: Friend requests are made 110 -> 100, 120 -> 110, 120 -> 100.
    

    Notes:

    • 1 <= ages.length <= 20000.
    • 1 <= ages[i] <= 120.
    class Solution {
        public int numFriendRequests(int[] ages) {
            Map<Integer, Integer> map = new HashMap<>();
            int ans = 0;
            for (int num : ages) {
                map.put(num, map.getOrDefault(num, 0) + 1);
            }
            for (int a: map.keySet()) {
                for (int b: map.keySet()) {
                    if (!isValid(a, b)) {
                        continue;
                    }
                    if (a == b) {
                        ans += map.get(a) * (map.get(a) - 1);
                    } else {
                        ans += map.get(a) * map.get(b);
                    }
                }
            }
            return ans;
        }
        
        private boolean isValid(int a, int b) {
            if (b <= 0.5 * a + 7 || b > a || b > a && a < 100) {
                return false;
            }
            return true;
        }
    }
  • 相关阅读:
    python编码基础知识
    python编码问题
    python中文乱码
    mysql sql灵活运用
    MySQL函数讲解(MySQL函数大全)
    python:UnicodeDecodeError: ‘ascii’ codec can’t decode byte 0xef in position xxx: ordinal not in range(128)
    sql replace into 与 insert into
    微信布局
    盘点六大在中国复制失败的O2O案例
    字符串问题(一)
  • 原文地址:https://www.cnblogs.com/xuanlu/p/12596103.html
Copyright © 2011-2022 走看看