Leetcode 825:适龄的朋友

匿名 (未验证) 提交于 2019-12-02 23:39:01

题目描述

当满足以下条件时,A 不能给 B(A、B不为同一人)发送好友请求:




否则,A 可以给 B 发送好友请求。

求总共会发出多少份好友请求?

示例 1:

输入: [16,16]
输出: 2
解释: 二人可以互发好友申请。
示例 2:

输入: [16,17,18]
输出: 2
解释: 好友请求可产生于 17 -> 16, 18 -> 17.
示例 3:

输入: [20,30,100,110,120]
输出: 3
解释: 好友请求可产生于 110 -> 100, 120 -> 110, 120 -> 100.

说明:


1 <= ages[i] <= 120.

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/friends-of-appropriate-ages
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

解题思路

 class Solution { public:     int numFriendRequests(vector<int>& ages) {         map<int,int> mp;         int len = ages.size(),ans = 0;         for(int i=0;i<len;i++) mp[ages[i]]++;         for(auto ita = mp.begin();ita!=mp.end();ita++){             int ta = ita->first,t = ita->second;             if(ta<15) continue;             ans += t*(t - 1);             for(auto itb = mp.begin();itb!=mp.end();itb++){                 int tb = itb->first;                 if(ta == tb) break;                 if(tb<15) continue;                 if(ta/2+7 < tb) ans += itb->second * t;             }         }         return ans;     } };
文章来源: https://blog.csdn.net/weixin_35338624/article/details/91398586
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!