Leetcode第 61 场双周赛

【脑电信号处理与特征提取】P2-夏晓磊:脑电的神经起源与测量 ElectroEncephaloGraphyTherefore, EEG produces a graphed representation of the electrical activity occurring in a person’s brain.(把一个人的大脑中的电活动画出来)脑电头皮表面记录到的大脑活动产生的电信号(微伏)。(记录位置:硬脑膜/大脑皮层表面- ECoG,神经元群- LFP与MUR/MUA:活动位置:心电、眼电、肌电等)脑电图电压随时间变化的波形图。 阅读详情

总结:

本周周赛难度偏易,连我都差点AK了,第四题忘记判重了,所以最后没有做出来比较可惜。前三题都比较简单,第四题思维上逆向思维,下周继续加油~争取今年有机会AK

Leetcode5859. 差的绝对值为 K 的数对数目

这道题数据范围很小,所以直接枚举就可以

class Solution {
public:
    int countKDifference(vector<int>& nums, int k) {
        int n = nums.size(), res = 0;
        for (int i = 0; i < n; i ++ )
            for (int j = i + 1; j < n; j ++ ) {
                if (abs(nums[i] - nums[j]) == k)
                    res ++ ;
            }
        
        return res;
    }
};

5860. 从双倍数组中还原原数组

比赛时提交代码:

当时思路是hashhashhash存每个数个数,然后数组排序,每一次2倍的数和自己删掉,如果发现某一个数没有2倍数返回空数组

class Solution {
public:
    vector<int> findOriginalArray(vector<int>& a) {
        int n = a.size();
        if (n & 1) 
            return {};
        unordered_map<int, int> hash;
        sort(a.begin(), a.end());

        vector<int> res;
        for (int i = 0; i < n; i ++ ) {
            hash[a[i]] ++ ;
        }

        for (int i = 0; i < n; i ++ ) {
            if (hash[a[i]]) {
                if (hash[2 * a[i]]) {
                    res.push_back(a[i]);
                    hash[2 * a[i]] -- ;
                    hash[a[i]] -- ;
                }
                else return {};
            }
        }
        return res;
    }
};

带佬的代码

比较好的做法是,队列维护2倍的序列,每一次加从小的数开始加,每一次删除从小的数开始删,因此符合先进先出数据结构,如果最后没有删完,说明不符合要求

class Solution {
public:
    vector<int> findOriginalArray(vector<int>& a) {
        sort(a.begin(), a.end());
        vector<int> ret;
        list<int> q;
        for (int x : a) {
            if (!q.empty() && x == q.front()) {
                q.pop_front();
            } else {
                ret.push_back(x);
                q.push_back(x * 2);
            }
        }
        if (q.size() != 0) {
            return {};
        }
        return ret;
    }
};

5861. 出租车的最大盈利

比赛时的代码

又想复杂了,开了一个结构体进行排序,有点麻烦,

class Solution {
public:
    typedef long long LL;

    struct Passengers
    {
        int l, r, p;

        bool operator < (const Passengers &t) const {
            if (l != t.l) return l < t.l;
            else if (r != t.r) return r < t.r;
            return p < t.p;
        }
    };

    long long maxTaxiEarnings(int n, vector<vector<int>>& rides) {
        vector<LL> f(n + 1);
        vector<Passengers> pa;
        for (int i = 0; i < rides.size(); i ++ ) {
            int l = rides[i][0], r = rides[i][1], p = rides[i][2];
            pa.push_back({l, r, p});
        }

        sort(pa.begin(), pa.end());
        int m = pa.size();
        for (int i = 1, j = 0; i <= n; i ++ ) {
            f[i] = max(f[i], f[i - 1]);
            while (j < m && pa[j].l == i) {
                int r = pa[j].r;
                f[r] = max(f[r], f[pa[j].l] + r - pa[j].l + pa[j].p);
                j ++ ;
            }
        }
        return f[n];
    }
};

带佬的代码

pair存邻接表和受益,每一次更新从起点到终点受益最大值

using ll = long long;

class Solution
{
public:
    ll maxTaxiEarnings(int n, vector<vector<int>>& rides) 
	{
		// g存储的是起点还有受益
		vector<vector<pair<int, int>>> g(n);
		for (auto r : rides) {
			int a = r[0] - 1;
			int b = r[1] - 1;
			g[b].push_back({a, b - a + r[2]});
		}
		vector<ll> f(n);
		for (int i = 1; i < n; ++i) {
			f[i] = max(f[i], f[i - 1]);
			for (auto r : g[i]) {
				f[i] = max(f[i], f[r.first] + r.second);
			}
		}
		return f[n - 1];
	}
};

Leetcode5862. 使数组连续的最少操作数

最后一题忘记unique了,小尴尬

class Solution {
public:
    int minOperations(vector<int>& a) {
        sort(a.begin(), a.end());
        int m = a.size();
        a.resize(unique(a.begin(), a.end()) - a.begin());
        int n = a.size();

        int r = 0, j = 0;
        for (int i = 0; i < n; i ++ ) {
            while (j < n && a[j] - a[i] < m) {
                r = max(r, j - i);
                j ++ ;
            }
        }
        return m - r - 1;
    }
};
GIS常用符号化色带(超级色带)根据python制作 GIS自带的色带比较单一,今天分享一款色带,应用之后大家出图的时候可以选择更多的配色,符号化/点击色块/样式引用/将样式添加至列表即可。色带类型比较多,大家可以自己尝试下不同的风格。简单符号化一下,看看效果。以中国县级行政区划为例, 阅读详情

相关推荐

TMC步进电机驱动stealthChop

经过九九八十一难,芯片手册拜读了好多遍,找了好多资料,问了好多人使用TMC2660驱动步进电机终于成功了。最后的问题居然是硬件把管脚画错了,然后我又没有检查,哭。。。

那可真是太开心了的博客 4490

LeetCode-数学专题总结

数学 素数 素数分解 每一个数都可以分解成素数的乘积,例如 84 = 22 * 31 * 50 * 71 * 110 * 130 * 170 * … 整除 令 x = 2m0 * 3m1 * 5m2 * 7m3 * 11m4 * … 令 y = 2n0 * 3n1 * 5n2 * 7n3 * 11n4 * … 如果 x 整除 y(y mod x == 0),则对于所有 i,mi &lt;= ni。...

Apple_hzc的博客 1352

Oracle监听配置

Oracle监听配置## 标题 选择“监听程序配置”,然后下一步。 选择重新配置,然后下一步/。 不用管,按下一步。 下一步。 选择“否”,下一步。 选择"本地net服务名配置",然后下一步。 选择“重新配置”,然后下一步。 服务名 是"Oracle",然后下一步。 主机为你的IP地址,在doc系统下通过"ipconfig"获取IP地址。然后输入,然后下一步。 选择“是,进行测试...

m0_46079215的博客 807

[动态规划]一个一维维数组中只有1和-1,实现程序,求和为0的最长子串长度

一个一维维数组中只有1和-1,实现程序,求和为0的最长子串长度,如输入[1,-1,-1,1],输出为4。 //核心思路 //dp[i][j]表示从array[i]一直加到array[j]的和 递推式:dp[i][j] = dp[i+1][j-1] + array[i] + array[j]; 判定:if(dp[i][j] == 0) max = max(max, j-1+1); ...

食鱼酱的博客 3331

Upwork入门指南:如何创建吸引人的个人资料

本文详细介绍了如何在Upwork上创建并优化个人资料,帮助自由职业者吸引更多客户。内容包括: 注册与验证:从注册账号到邮箱验证的完整步骤。 个人资料填写:如何撰写吸引人的标题、简介,选择技能标签,以及设置专业头像和费率。 作品集与优化:上传高质量作品集,提升搜索排名和客户信任度。 常见问题解答:解决新手常见问题,如无工作经验或审核不通过。 通过本文的指导,你将学会打造一个专业且高效的个人资料,为在Upwork上获得更多机会奠定基础。

qq_61813593的博客 3523

从学生项目到工程实践:手把手教你用ATE测试电源芯片的Rdson与漏电流

本文详细介绍了如何将学术级的电源芯片测试方案转化为工业级解决方案,重点讲解使用ATE设备测试Rdson(导通电阻)和漏电流的关键技术。从设备选型、测试夹具设计到量产环境下的工程化实现,提供了实用的优化技巧和常见问题解决方案,帮助工程师提升测试效率和精度。

weixin_42525289的博客 183

第61场LeetCode双周赛

第60场LeetCode双周赛心情第一题(差的绝对值为 K 的数对数目)第二题(从双倍数组中还原原数组)第三题(出租车的最大盈利)第四题(使数组连续的最少操作数) 心情 题目在此 双周赛都补题 第一题(差的绝对值为 K 的数对数目) class Solution { public: int countKDifference(vector<int>& nums, int k) { int le = nums.size(),ans = 0; for .

欢迎来到我的世界 423

Oracle EBS Interface/API(42) -AP发票客制化付款申请

背景 在OA系统上,选择Oracle EBS的某张AP发票做付款申请,需要类似于锁定该发票以便付款,其他用户或者下次用户不能再次选择该发票做付款申请。 快速参考 参考点 内容 功能导航 N: AP->Invoices->Entry>Invoices 并发请求 None 基表 AP.AP_INV_SELECTION_CRITERIA_ALLAP.AP_SELECTED_INVOICES_ALL API 参考下面介绍 错误信息表 None 接口Form

陈显平的专栏-Oracle EBS 1200

从双倍数组中还原原数组

一个整数数组original可以转变成一个双倍数组changed,转变方式为将original中每个元素值乘以 2加入数组中,然后将所有元素随机打乱。 给你一个数组changed,如果change是双倍数组,那么请你返回original数组,否则请返回空数组。original的元素可以以任意顺序返回。 示例 1: 输入:changed = [1,3,4,2,6,8] 输出:[1,3,4] 解释:一个可能的 original 数组为 [1,3,4] : ...

stay hungry ! stay foolish! 596

学Simulink——基于Simulink的PMSM矢量控制(FOC)从零搭建

《Simulink下PMSM矢量控制(FOC)全流程开发指南》 本教程系统讲解了基于Simulink的永磁同步电机(PMSM)磁场定向控制(FOC)实现方法。主要内容包括:FOC控制原理与双闭环架构设计、Simulink建模全流程(含PMSM本体建模、坐标变换、PI控制器设计等)、关键调试技巧以及工程扩展方向。教程以48V伺服电机为例,详细演示了从Clarke/Park变换到SVPWM生成的完整实现过程,并提供了参数配置建议和常见问题解决方案。通过本教程,读者可掌握FOC系统的核心实现技术,为开发高性能电机

xiaoheshang_123的博客 273

YOLOv13涨点改进 | 全网独家创新、HyperACE改进、注意力改进篇 | CVPR 2025| 引入LRSA局部区域自注意力模块,能提升其在细节捕捉、小目标检测和长距离依赖建模方面的能力

本文提出将LRSA(局部区域自注意力)模块集成到YOLOv13中,通过局部特征交互增强细节捕捉能力、小物体检测精度和长距离依赖建模。LRSA模块采用重叠图像块处理策略,在保持计算效率的同时提升复杂背景下的检测性能。文章详细介绍了模块结构、原理优势,并提供了三种改进方案:1)在主干网络添加LRSA层;2)将关键模块替换为DSC3k2_LRSA;3)采用HyperACE_LRSA结构。配套提供了完整的PyTorch实现代码和YAML配置文件,展示了该模块如何通过局部注意力机制平衡检测精度与推理速度。

Ai缝合怪、助力小伙伴高效发论文 345

[线性dp]leetcode2008:出租车的最大盈利(medium)

代码】[线性dp]leetcode2008.出租车的最大盈利(medium)

algsup 609

【32】软考软件设计师——算法题(一):分治法与动态规划深度精讲|下午第4题常考满分攻略

本文是《软件设计师·50讲通关|从零基础到工程师职称》专栏第32篇,正式开启**模块四:应用技术(下午题)算法大题专项**,聚焦下午第4道高频必考大题核心两大算法:分治法与动态规划。全文超4000字深度拆解两大经典算法的底层核心思想、算法策略识别技巧、递归边界设计、状态转移方程推导,全覆盖代码填空高频考点、时间复杂度分析、经典题型解题套路;配套可直接默写的递归代码模板、DP状态设计范式、真题完整填空案例,彻底解决考生分不清分治与DP、递归边界写错、状态转移推不出、复杂度算不对四大核心痛点。

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 641

力扣第61场双周赛

第一题 暴力枚举 class Solution { public: int countKDifference(vector<int>& nums, int k) { int n = nums.size(); int res = 0; for (int i=0;i<n;i++) for (int j=i+1;j<n;j++) if (abs(nums[i]

MH3709的博客 182

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

AcWing第61场周赛+Leetcode第303场单周赛+第83场双周赛补题

acwing第61场周赛+Leetcode第303场单周赛+第83场双周赛

S_keo的博客 395

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

LeetCode 第 35 场双周赛(216/2839,前7.61%)

文章目录1. 比赛结果2. 题目1. LeetCode 5503. 所有奇数长度子数组的和 easy2. LeetCode 5505. 所有排列中的最大和 medium3. LeetCode 5504. 使数组和能被 P 整除 medium4. LeetCode hard 1. 比赛结果 做出来3题。继续加油! 全国排名: 216 / 2839,7.61%;全球排名: 585 / 8750,6.70% 2. 题目 1. LeetCode 5503. 所有奇数长度子数组的和 easy 题目链接 给你一个

Michael是个半路程序员 2201

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

力扣(LeetCode)第 161 场双周赛

而很小的数,我们可以提前暴力预处理出它们的位计数深度。最小值最大很容易就想到二分,我们二分最小的最大边权为x,每条边花费都大于等于x的情况下在有向无环图(DAG)上dp一下,蓝色高亮显示的岛屿的总价值可以被 5 整除,而红色高亮显示的岛屿则不能。是一个大于 1 的自然数,它只有两个因子,1和它本身。网格中包含六个岛屿,每个岛屿的总价值都可以被 3 整除。节点 3 离线,因此任何通过 3 的路径都是无效的。一个岛屿的总价值是该岛屿中所有单元格的值之和。,那么有i个1的数的位计数深度就是k了。

2401_85837579的博客 1105

LeetCode 第 54 场双周赛题解

这是 2021-06-12 的一场双周赛,这次周赛的前三道题相对简单,第四题如果没有做过表达式处理相关的题目,是比较难想到正确做法的。其中,比赛涉及到的知识点有模拟、枚举、前缀和、表达式求值和动态规划。

Veggie的博客 610

LeetCode141双周赛解题

LeetCode 第141场双周赛解题

2301_81618761的博客 1095

【LeetCode双周赛】第 117 场双周赛

LeetCode第117场双周赛: 2928. 给小朋友们分糖果 I 、2929. 给小朋友们分糖果 II 、2930. 重新排列后包含指定子字符串的字符串数目

lunaol的博客 274

【LeetCode双周赛】第 114 场双周赛

【LeetCode双周赛】第114场双周赛

lunaol的博客 107

力扣2007+力扣2012+力扣2006+力扣2011(259场周赛+61场双周赛前两题)

第六十八天 --- 力扣2007+力扣2012+力扣2006+力扣2011题目一思路代码题目二:思路代码题目三思路代码题目四思路代码 题目一 思路 1、先读好题,把每个元素都乘以二,再把结果加入数组,则新的混合数组元素个数必是偶数个。 2、拿1和2举例子,在读入2的时候,需要快速知道1在不在数组里面,因为数据量极为庞大,且两个数可能相距很远,所以最快速的做法就是hash表。但是可能出现重复元素,所以要用unordered_map,key值是数组元素,value是出现次数。出现无法配对的元素先放在map里

qq_45678698的博客 281

【力扣周赛】第 117 场双周赛(⭐数学、容斥原理)

O1Ologn。

小威的博客 1047

LeetCode笔记:Biweekly Contest 61

LeetCode笔记:Biweekly Contest 61 1. 题目一 1. 解题思路 2. 代码实现 2. 题目二 1. 解题思路 2. 代码实现 3. 题目三 1. 解题思路 2. 代码实现 4. 题目四 1. 解题思路 2. 代码实现 1. 题目一 给出题目一的试题链接如下: 2006. Count Number of Pairs With Absolute Difference K 1. 解题思路 这一题很简单,最暴力的方式就是二重循环,不过我们的解法是..

codename_cys的博客 135

第143场双周赛:最小可整除数位乘积 Ⅰ、执行操作后元素的最高频率 Ⅰ、执行操作后元素的最高频率 Ⅱ、最小可整除数位乘积 Ⅱ

第143场双周赛:最小可整除数位乘积 Ⅰ、执行操作后元素的最高频率 Ⅰ、执行操作后元素的最高频率 Ⅱ、最小可整除数位乘积 Ⅱ

Lenyiin 891

LeetCode笔记:Biweekly Contest 90

LeetCode笔记:Biweekly Contest 90

codename_cys的博客 214
上一篇: 9-19每日一题:Leetcode 650. 只有两个键的键盘
下一篇: Leetcode第 259 场周赛
Shirandexiaowo
博客等级 码龄7年 45粉丝 314原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

打赏作者

Shirandexiaowo

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

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

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

打赏作者

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

抵扣说明:

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

余额充值