news 2026/6/11 5:19:35

力扣1264-页面推荐

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
力扣1264-页面推荐

朋友关系列表:Friendship

+---------------+---------+ | Column Name | Type | +---------------+---------+ | user1_id | int | | user2_id | int | +---------------+---------+ (user1_id, user2_id) 是这张表具有唯一值的列的组合。 这张表的每一行代表着 user1_id 和 user2_id 之间存在着朋友关系。

喜欢列表:Likes

+-------------+---------+ | Column Name | Type | +-------------+---------+ | user_id | int | | page_id | int | +-------------+---------+ (user_id, page_id) 是这张表具有唯一值的列的组合。 这张表的每一行代表着 user_id 喜欢 page_id。

编写解决方案,向user_id= 1 的用户,推荐其朋友们喜欢的页面。不要推荐该用户已经喜欢的页面。

任意顺序返回结果,其中不应当包含重复项。

返回结果的格式如下例所示。

示例 1:

输入:Friendship table: +----------+----------+ | user1_id | user2_id | +----------+----------+ | 1 | 2 | | 1 | 3 | | 1 | 4 | | 2 | 3 | | 2 | 4 | | 2 | 5 | | 6 | 1 | +----------+----------+ Likes table: +---------+---------+ | user_id | page_id | +---------+---------+ | 1 | 88 | | 2 | 23 | | 3 | 24 | | 4 | 56 | | 5 | 11 | | 6 | 33 | | 2 | 77 | | 3 | 77 | | 6 | 88 | +---------+---------+输出:+------------------+ | recommended_page | +------------------+ | 23 | | 24 | | 56 | | 33 | | 77 | +------------------+解释:用户1 同 用户2, 3, 4, 6 是朋友关系。 推荐页面为: 页面23 来自于 用户2, 页面24 来自于 用户3, 页面56 来自于 用户3 以及 页面33 来自于 用户6。 页面77 同时被 用户2 和 用户3 推荐。 页面88 没有被推荐,因为 用户1 已经喜欢了它。

思路:

1、先从 Friendship 表中查出用户 1 的所有朋友。
由于好友关系可能出现在 user1_id 或 user2_id 中,因此分别查询两种情况并合并结果。

2、在 Likes 表中,根据上一步得到的好友 ID,查找这些朋友点赞过的页面。

3、排除用户 1 自己已经点赞过的页面,确保推荐结果符合题意。

4、对最终结果进行去重,避免同一个页面重复出现。

select distinct l.page_id as recommended_page from likes l where l.user_id in ( select f.user1_id from friendship f where f.user2_id = 1 union all select f.user2_id from friendship f where f.user1_id = 1 ) and l.page_id not in ( select page_id from likes where user_id = 1 );
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/11 21:21:26

多云测试的智能调度方案

1 方案概述 1.1 背景与挑战 随着企业数字化转型加速,多云架构已成为现代软件开发的标配环境。测试团队面临异构资源管理复杂、环境部署效率低下、成本控制精度不足三大核心挑战。传统单云测试模式在跨云兼容性验证、突发流量承载等方面显现出明显局限性。 1.2 智…

作者头像 李华
网站建设 2026/6/10 15:37:57

vue基于Spring Boot的个性化服装推荐系统的服装销售商城系统_x5ks108j

目录具体实现截图项目介绍论文大纲核心代码部分展示项目运行指导结论源码获取详细视频演示 :文章底部获取博主联系方式!同行可合作具体实现截图 本系统(程序源码数据库调试部署讲解)同时还支持java、ThinkPHP、Node.js、Spring B…

作者头像 李华
网站建设 2026/6/10 15:50:31

当Adaboost遇上SVM:时间序列预测的另类打开方式

基于支持向量机的Adaboost时间序列预测 SVM Adaboost时间序列 利用交叉验证抑制过拟合问题 matlab代码,注:要求 Matlab 2018B 及以上版本 注:采用 Libsvm 工具箱(无需安装,可直接运行),仅支持 W…

作者头像 李华
网站建设 2026/6/10 11:06:06

DevOps中的测试文化构建:从工具到思维的全面转型

随着DevOps实践的普及,软件开发周期不断缩短,自动化工具如CI/CD(持续集成/持续交付)已成为标配。然而,许多组织仍将测试视为开发后的孤立环节,导致质量瓶颈和交付延迟。真正的DevOps测试文化强调“质量是每…

作者头像 李华
网站建设 2026/6/10 17:28:38

挤爆字节服务器的Agent到底啥水平?Coze一手实测来了

这个让字节服务器“压力山大”的Agent,到底是真的技术突破,还是营销噱头?我用三天时间把它扒了个底朝天。前几天朋友圈被Coze的Agent刷屏了,听说它把字节的服务器都挤爆了。作为技术博主,我第一反应是:又一…

作者头像 李华
网站建设 2026/6/10 17:24:42

前端性能优化实战:从3秒到300ms的加载速度提升

前言 用户体验的核心是速度。我们的产品页面加载时间曾经高达3秒,用户流失率居高不下。经过两个月的优化,我们将加载时间降到了300ms,用户留存率提升了40%。 这篇文章分享我们的优化过程和实战经验。 一、问题诊断:找到性能瓶颈…

作者头像 李华