首页 > 其他分享 >【每日一题】825. 适龄的朋友

【每日一题】825. 适龄的朋友

时间:2024-11-17 21:32:33浏览次数:1  
标签:适龄 cnt 请求 每日 ages 发送 825 age 好友

在社交媒体网站上有 n 个用户。给你一个整数数组 ages ,其中 ages[i] 是第 i 个用户的年龄。

如果下述任意一个条件为真,那么用户 x 将不会向用户 yx != y)发送好友请求:

  • ages[y] <= 0.5 * ages[x] + 7
  • ages[y] > ages[x]
  • ages[y] > 100 && ages[x] < 100

否则,x 将会向 y 发送一条好友请求。

注意,如果 x 向 y 发送一条好友请求,y 不必也向 x 发送一条好友请求。另外,用户不会向自己发送好友请求。

返回在该社交媒体网站上产生的好友请求总数。

 

class Solution:
    def numFriendRequests(self, ages: List[int]) -> int:
        cnt = [0] * 121
        for age in ages:
            cnt[age] += 1

        ans = cnt_window = age_y = 0
        for age_x, c in enumerate(cnt):
            cnt_window += c
            if age_y * 2 <= age_x + 14:  # 不能发送好友请求
                cnt_window -= cnt[age_y]
                age_y += 1
            if cnt_window:  # 存在可以发送好友请求的用户
                ans += c * cnt_window - c
        return ans

 

标签:适龄,cnt,请求,每日,ages,发送,825,age,好友
From: https://www.cnblogs.com/xxlm/p/18551138

相关文章

  • 力扣825.适龄的朋友,全网最详细解释
    好友请求的总数(LeetCode825)题目描述某社交平台规定,用户A可以向用户B发送好友请求需满足以下条件:用户A的年龄不小于用户B的年龄。用户B的年龄大于0.5*用户A的年龄+7。用户B的年龄小于等于用户A的年龄。此外,一个用户不能向自己发送好友请求。输入:......
  • sicp每日一题[2.80]
    Exercise2.80Defineagenericpredicate=zero?thattestsifitsargumentiszero,andinstallitinthegenericarithmeticpackage.Thisoperationshouldworkforordinarynumbers,rationalnumbers,andcomplexnumbers.这道题更简单,直接与0相比较就行,以下......
  • sicp每日一题[2.79]
    Exercise2.79Defineagenericequalitypredicateequ?thatteststheequalityoftwonumbers,andinstallitinthegenericarithmeticpackage.Thisoperationshouldworkforordinarynumbers,rationalnumbers,andcomplexnumbers.这道题也挺简单的,分别在......
  • 每日一题之最大子段和
    给定由n个整数组成的序列a1,a2,…,an,序列中可能有负数,要在这n个数中选取相邻的子段ai,ai+1,…,aj(1≤i≤j≤n),使其和最大,并输出最大的和。例如:当{a1,a2,…,an}={1,-3,7,8,-4,12,-10,6}时,最大子段和为:sum=23。输入格式:第一行输入一个正整数N,表示序列的长度。N≤100000;第2行输入N个整数输出格式......
  • 代码随想录算法训练营day47| 739. 每日温度 496.下一个更大元素 I 503.下一个
    学习资料:https://programmercarl.com/0739.每日温度.html#算法公开课单调栈:用数组模拟单调栈,今天的题中,栈中元素都保存的索引值基本思路:将新元素和栈顶索引对应值比较,如果要保持单调递增,则需要新元素不大于栈顶索引对应值;若满足就加入新元素索引到栈中;若不满足,就根据具体题意看......
  • 每日3
    include<bits/stdc++.h>usingnamespacestd;inta[2000200];intmain(){intn,c;cin>>n>>c;for(inti=0;i<n;i++)cin>>a[i];sort(a,a+n);longlongcnt=0;for(inti=0;i<n;i++){intl=i,r=n;while......
  • sicp每日一题[2.78]
    Exercise2.78Theinternalproceduresinthescheme-numberpackageareessentiallynothingmorethancallstotheprimitiveprocedures+,-,etc.Itwasnotpossibletousetheprimitivesofthelanguagedirectlybecauseourtype-tagsystemrequiresthat......
  • 【SpringBoot每日学习 - 第二天】SpringApplication 启动类:方法篇一
    SpringApplication类是SpringBoot应用程序的核心类之一,负责启动和初始化整个SpringBoot应用。通过调用SpringApplication.run()方法,SpringBoot会启动嵌入式的Web服务器(如Tomcat)并创建Spring容器。SpringApplication类具有一系列方法和配置项,允许开发者自定......
  • 【SpringBoot每日学习 - 第一天】SpringApplication 启动类:属性篇
    SpringApplication类是SpringBoot应用启动的核心类之一,包含了大量的属性,控制着应用启动的各个方面。这些属性涵盖了从配置环境、应用上下文类型、Banner显示、启动日志、事件监听等多个方面。以下是SpringApplication类中重要属性的详细说明及其用途:静态属性DEFAUL......
  • 每日OJ题_牛客_计算字符串的编辑距离_DP_C++_Java
    目录牛客_计算字符串的编辑距离_DP题目解析C++代码Java代码牛客_计算字符串的编辑距离_DP计算字符串的编辑距离_牛客题霸_牛客网描述:Levenshtein 距离,又称编辑距离,指的是两个字符串之间,由一个转换成另一个所需的最少编辑操作次数。许可的编辑操作包括将一个字符替换......