Leetcode3015. 按距离统计房屋对数目 I

2026年CSP-S复赛真题及题解:T4【研发基地】 阅读详情

Every day a Leetcode

题目来源:3015. 按距离统计房屋对数目 I

解法1:暴力

暴力枚举每一个房屋对 (i, j) 的 3 种路径:

  1. i->j:长度为 len1 = j-i;
  2. i->x->y->j:长度为 len2 = abs(i - x) + 1 + abs(j - y);
  3. i->y->x->j:长度为 len3 = abs(i - y) + 1 + abs(j - x)。

取这 3 种路径的最小值作为房屋对 (i, j) 的路径,路径长度 len = min({len1, len2, len3}),因为路径是双向的,在答案数组 ans 中 ans[len - 1] += 2。

最后返回 ans 数组。

代码:

/*
 * @lc app=leetcode.cn id=3015 lang=cpp
 *
 * [3015] 按距离统计房屋对数目 I
 */

// @lc code=start
class Solution
{
public:
    vector<int> countOfPairs(int n, int x, int y)
    {
        vector<int> ans(n, 0);
        for (int i = 1; i < n; i++)
            for (int j = i + 1; j <= n; j++)
            {
                int len1 = j - i;                       // i->j
                int len2 = abs(i - x) + 1 + abs(j - y); // i->x->y->j
                int len3 = abs(i - y) + 1 + abs(j - x); // i->y->x->j
                // 取最短距离作为路径
                int len = min({len1, len2, len3});
                ans[len - 1] += 2; // 路径是双向的
            }
        return ans;
    }
};
// @lc code=end

结果:

在这里插入图片描述

复杂度分析:

时间复杂度:O(n2),其中 n 是房屋数量。

空间复杂度:O(n),其中 n 是房屋数量。

AT32串口打印全攻略:从零搭建到printf重定向(GCC版) 本文详细介绍了在GCC编译环境下为AT32系列MCU实现串口打印与printf重定向的完整方案。针对从Keil MDK迁移到GCC工具链时常见的串口无输出问题,文章从环境搭建、USART配置入手,重点剖析了GCC下printf重定向的核心原理——通过重写_write()函数,并提供了经过验证的代码实现、常见问题排查及性能优化建议。 阅读详情

相关推荐

WeDetect:基于视觉-语言检索的目标检测新范式

目标检测正从传统回归与分类耦合范式,向开放、灵活、可扩展的多模态检索范式演进。检索式检测(Retrieval-based Detection)将检测任务重构为视觉特征与文本语义的联合匹配过程,依托候选框索引库与双塔架构,天然支持开放词汇、零样本识别与小目标定位。其技术价值在于解耦空间感知与语义理解,消除NMS与anchor匹配等冗余计算,显著提升推理效率与跨场景泛化能力。典型应用场景包括工业质检中的缺陷新增识别、遥感图像小目标检测、低光照鲁棒视觉系统等。WeDetect正是这一范式的代表性实现,深度融合视觉

weixin_30878501的博客 363

LeetCode 3015. 按距离统计房屋对数目 I

给你三个nx和y。在城市中,存在编号从1到n的房屋,由n条街道相连。对所有1 <= i < n,都存在一条街道连接编号为i的房屋与编号为i + 1的房屋。另存在一条街道连接编号为x的房屋与编号为y的房屋。对于每个k),你需要找出所有满足要求的,即从house1到house2需要经过的街道数为k。返回一个下标从开始且长度为n的数组result,其中result[k]表示所有满足要求的房屋对的数量,即从一个房屋到另一个房屋需要经过的街道数为k。x与y可以。[6,0,0]让我们检视每个房屋对。

m0_56090828的博客 1024

【AI Infra】Perfetto性能分析工具指南

Perfetto是一款开源性能分析工具,提供系统级和应用级的活动数据追踪功能。其界面分为四个区域:左侧操作区(包含Trace查看、SQL查询、预置分析等功能)、上方信息区、中间图形化展示区以及下方详细信息区。工具支持快捷键操作(w/s缩放、a/d移动、m标记等),并能高效处理大体积Trace文件。通过Timeline分析可发现性能瓶颈,如案例中update_actor耗时过高的问题,最终定位到CPU offloading导致的MemcpyH2D操作耗时过长,提出了优化方案。Perfetto相比Systrac

baiweizeng的博客 1511

Leetcode 第 381 场周赛题解

Leetcode 第 381 场周赛题解

ProgramNovice的博客 1998

华为ITR流程实战指南:从设计到落地的全流程解析(附完整方案下载)

本文深度解析华为ITR流程从设计到落地的全流程实战指南。ITR不仅是高效处理客户问题的“救火”系统,更是驱动产品改进、预防问题的企业“免疫系统”。文章详细拆解了流程设计的四步走策略、三层技术支持体系的组织保障、以闭环改进为核心的考核激励,并探讨了如何借鉴其精髓,优化自身问题管理,实现从被动响应到主动服务的跨越。

y2z3a4b5c的博客 382

机器学习预测材料性能:从特征工程到SHAP可解释性分析

机器学习在材料科学中的应用,核心在于将复杂的材料性能预测问题转化为数据驱动的建模任务。其基本原理是通过算法从历史数据中学习特征与目标属性之间的映射关系。这项技术的价值在于能够大幅加速新材料的发现与设计周期,降低传统“试错法”的高昂成本。在工程实践中,它广泛应用于预测如形成能、带隙、弹性模量以及居里温度等关键材料性能。具体到磁性材料领域,居里温度的准确预测对于永磁体和自旋电子器件设计至关重要。本项目深入探讨了如何利用特征工程从材料成分与结构中构建有效描述符,并借助SHAP这一可解释性工具,揭示模型决策背后的物

weixin_27155667的博客 652

力扣周赛381

表示所有满足要求的房屋对的数量,即从一个房屋到另一个房屋需要经过的。- 对于房屋对 (1, 2),可以直接从房屋 1 到房屋 2。- 对于房屋对 (2, 1),可以直接从房屋 2 到房屋 1。- 对于房屋对 (1, 3),可以直接从房屋 1 到房屋 3。- 对于房屋对 (3, 1),可以直接从房屋 3 到房屋 1。- 对于房屋对 (2, 3),可以直接从房屋 2 到房屋 3。- 对于房屋对 (3, 2),可以直接从房屋 3 到房屋 2。总成本为 1 + 1 + 1 + 1 + 1 = 5。

m0_48590589的博客 1031

AI赋能运筹优化:从参数生成到智能求解的工程实践

运筹学通过线性规划、整数规划等数学模型,为供应链、物流、生产排程等复杂决策问题寻找最优解,其核心价值在于提升资源利用效率与决策科学性。传统方法依赖精确的输入参数与专家经验,面临数据不准、建模门槛高、求解调优难等挑战。人工智能技术的引入,正从原理层面重塑这一流程:通过深度学习模型生成更贴合现实的动态参数(如需求分布、行驶时间),利用自然语言处理降低建模门槛,并借助强化学习对求解器进行智能参数调优。这种AI与运筹学的融合,在工程实践中显著提升了优化系统的自适应能力与求解效率,使其在应对实时交通、柔性生产调度等动

weixin_26913055的博客 595

周赛381(模拟、BFS、贪心)

表示所有满足要求的房屋对的数量,即从一个房屋到另一个房屋需要经过的。表示所有满足要求的房屋对的数量,即从一个房屋到另一个房屋需要经过的。小写英文字母集合相映射,可以通过按压按键来组成单词。小写英文字母集合相映射,可以通过按压按键来组成单词。下面给出了一种电话键盘上字母到按键的映射作为示例。下面给出了一种电话键盘上字母到按键的映射作为示例。,都存在一条街道连接编号为。),你需要找出所有满足要求的。,都存在一条街道连接编号为。),你需要找出所有满足要求的。,我们需要按一次键来输入。,我们需要按一次键来输入。

qq_42958831的博客 539

EtherCAT APWR报文实战:从站地址配置(0x0010)的初始化流程与报文解析

本文详细解析了EtherCAT APWR报文在从站地址配置(0x0010寄存器)中的初始化流程与实战应用。通过类比物业分配门牌号,生动解释了APWR报文如何高效批量配置从站地址,并深入探讨了0x0010寄存器的特殊作用、初始化步骤及常见问题排查方法。文章结合IgH主站的三从站配置案例,提供了报文解析技巧和调试建议,帮助工程师快速掌握EtherCAT网络配置的核心技术。

weixin_28744423的博客 412

一文搞懂自适应激光控制技术,开启光学新时代

自适应激光控制技术作为现代光学领域的关键技术,以其独特的原理和高效的工作机制,在科研、工业等众多领域展现出了巨大的应用价值。通过对激光波前的实时测量与补偿,它成功克服了激光在传输和应用过程中面临的诸多挑战,显著提升了激光的光束质量和应用效果。在科研领域,它助力天文观测突破大气湍流的限制,让我们得以更清晰地窥探宇宙的奥秘;在激光核聚变研究中,为实现高效的核聚变反应提供了关键支持,为解决能源问题带来了新的希望。

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 2530

头歌 数据结构-串的表示与实现

本关任务是实现串的定长顺序存储结构。使用静态数组char arr[MaxLen]存储字符串,输入字符串后输出其内容、实际长度(通过strlen计算)和存储长度(sizeof(arr))。代码在Begin-End间补充,完成字符串读取与信息输出。测试用例为输入"aaaaa",预期输出为"aaaaa"、5、20。

一名敲代码的苦13程序员 175

第5课 SQL入门之高级数据过滤

如何用AND和OR操作符组合成WHERE子句;如何明确地管理求值顺序,如何使用IN和NOT操作符

warlack007的博客 867

【算法拾光】队列|在每个树⾏中找最⼤值 + 最后⼀块⽯头的重量

本文总结两道经典算法题:一是通过层序遍历(BFS)逐层找最大值,利用队列分层处理,每层维护最大值;二是用大根堆(优先队列)模拟石头碰撞过程,每次取最大两块石头,差值重新入堆,直至剩余一块或无石。前者适用于树的层次遍历,后者适合动态获取最值场景。核心思想:队列用于分层遍历,堆用于高效取极值。

wuqingyigexiaoba的博客 140

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

【算法拾光】链表 哈希表|K个一组翻转链表 + 两数之和

K个一组翻转链表需分段反转,借助哑节点与前驱指针维护连接,避免断链;两数之和利用哈希表实现O(1)查找,空间换时间,高效定位目标组合。前者考察链表指针操作,后者聚焦映射关系构建,均为面试高频题。

wuqingyigexiaoba的博客 334

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

排序算法深度笔记(下):非比较类排序的线性突破与工程边界

排序算法时间复杂度额外空间复杂度稳定性是否基于比较选择排序O(N^2)(O(1))不稳定是冒泡排序O(N^2)(O(1))稳定是插入排序O(N^2)(O(1))稳定是归并排序O(N\log N)(O(N))稳定是快速排序O(N\log N)O(log N)不稳定是堆排序O(N\log N)O(1)不稳定是计数排序(O(N + M))O(M))稳定否基数排序O(N)稳定否桶排序平均O(N) / 最坏O(N^2)

2401_87069538的博客 608

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

优选算法:分治-归并排序

交易逆序对的总数

Wangshijie1015的博客 149

Java 集合容器高频面试题全解:HashMap 树化阈值、1.7 死循环与 ConcurrentHashMap 演进(2026 招聘 JD 真题复盘)

HashMap 树化阈值 8 的泊松分布依据、退化阈值 6 的防抖设计、JDK 1.7 头插成环死循环的排查与修复、1.8 尾插后为何仍线程不安全、ConcurrentHashMap 放弃分段锁的原因与 ForwardingNode 协作扩容、computeIfAbsent 死锁陷阱、大集合找重复的场景题选型,附三层追问链自测。题目来源为 38 期公开招聘 JD 样本与字节、拼多多、建行、美团、快手公开面经。

蒙眼过河 424

算法日常・每日刷题--<动态规划>42

本题为“不相交的线”,与最长公共子序列问题相似。使用动态规划求解:定义 dp[i][j] 表示 nums1[0:i] 与 nums2[0:j] 的最大不相交连线数。若元素相等,则继承左上值加1;否则取上方或左方最大值。最终返回 dp[m][n],即两数组的最大不相交连线数。时间复杂度 O(mn),空间复杂度 O(mn)。

2503_92261635的博客 26

栈和队列和数组-优快云博客

一句话理解:栈就像一个羽毛球桶或手枪弹夹——只能从一头放、从一头取,最后放进去的最先拿出来。严格定义:栈是限定仅在某一端进行插入或删除操作的线性表。允许插入和删除的一端叫栈顶(top);另一端叫栈底(bottom);不含任何元素的栈叫空栈;栈中元素遵循后进先出(LIFO,Last In First Out)。两个核心动作插入数据叫入栈 / 进栈(Push);删除数据叫出栈(Pop)。⚠️ 易错点:栈只能在一端操作,不是两端。判断题里说「栈允许在两端操作」一定是错的。一句话理解。

2501_93853322的博客 173

从决策树到随机森林:Python机器学习里的“树形家族“深度实战与原理拆解

文章浏览阅读2.4k次,点赞52次,收藏32次。决策树和随机森林作为机器学习中的经典算法,各有优劣。决策树以其高可解释性和快速训练的特点

2601_96798011的博客 254

Linux epoll 一篇讲透:从 select/poll 到红黑树、LT/ET,再到完整 TCP 服务器

一万个客户端已经连上服务器,眼下只有十个客户端发来了数据。服务器怎样把时间花在这十个连接上?理解这个问题,就抓住了 epoll 的主线。接下来,我们沿着“为什么需要它 → 接口怎么用 → 内核如何实现 → LT/ET 怎么写 → 完整服务器怎么运行”的顺序,把知识连起来。**阅读基础:**了解socketbindlistenaccept的基本用途即可。本文示例面向 Linux,服务器使用 C++17,实验脚本使用 Python 3。

2601_94861874的博客 461

红黑树插入:三步与验证

红黑树是一种近似平衡的二叉搜索树,通过颜色规则(节点非红即黑、根为黑、红节点子节点为黑、每路径黑节点数相同)保证高度不超过 $2\log_2(N+1)$,实现 $O(\log n)$ 的查找、插入与删除。插入时新节点默认红色,仅当父节点为红时才需修复:叔红则染色上移,叔黑则通过单旋或双旋调整,并确保新根为黑。旋转操作需正确维护父子指针关系,避免断链。最终通过验证根非红、各路径黑节点数一致来确保结构合法。

ttxx__的博客 183

HashMap 和 Hashtable 有什么区别?

Hashtable是 JDK 1.0 的历史遗留类,虽然线程安全但性能低下且不支持 null;HashMap是集合框架的标准实现,性能更好、功能更灵活,但需要调用方自行保证线程安全。现代 Java 开发中,Hashtable基本已被取代,新项目应避免使用。

2601_96129122的博客 167

教育代码部队第196轮(A–G)题解合集

反过来,若能找到 k+1 个不同的原始数字,其和恰好为 S,那么保留其中一个作为 x、删去其余 k 个数字,就能使剩余数字总和等于 x。对当前 i,把所有满足 first[j]>r_i 的顶点位置加入树状数组,然后查询 [l_i,r_i] 的已加入数量。对每个 i≥2,给出区间 [l_i,r_i],从区间内每个 j 向 i 连边,即 j→i。反过来,若 j→i 存在替代路径,替代路径的第一步只能到某个 k,满足 j<k≤r_i(所有路径都严格向较大编号移动,最后必须从 [l_i,r_i] 进入 i)。

2301_79475922的博客 217

STA静态时序分析基础:什么是Unate与Non-unate单元?时序弧(timing arc)类型详解

Unate与Non-unate是STA判断时序弧方向的根本分类:Unate单元的输入跳变方向能单调地决定输出跳变方向,STA可以固定方向、剪掉不可能的情况;Non-unate单元(如XOR、多路选择器)的输出方向取决于其他输入的状态,必须分情况枚举,运行时间与悲观度都会上升。本文讲清正单向、负单向与非单向的定义、Liberty中timing_sense的写法、常见门电路的归类,以及它与timing arc类型的关系。

sindwe的博客 286
上一篇: Leetcode3017. 按距离统计房屋对数目 II
下一篇: Leetcode 第 381 场周赛题解
UestcXiye
博客等级 码龄8年 9032粉丝 1306原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

UestcXiye

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值