【笔试】算法的暴力美学——牛客 NC221681:dd爱框框

【笔试】算法的暴力美学——牛客 NC221681:dd爱框框

一、题目描述

二、算法原理

思路:滑动窗口

1)定义两个指针,一开始都为0,cur 从左开始遍历,定义一个 sum 来表示 prev 到 cur 的之间的值的总和,当 sum >= x 时,我们要根据题目条件来保存 prev 和 cur 的值;

2)当 sum >= x 时,我们记录完 prev 和 cur 的值的之后,sum -= arr[ prev ],prev++ ,往后走,只要满足条件 sum >= x 我们就要记录 prev 和 cur 的值,不断重复上面的工作;

3)当 sum < x 时,cur++,sum += arr[ cur ];

4)直至遍历完整个数组;

三、代码实现

#include <iostream> #include <vector> using namespace std; int main() { //准备工作 int n,x; cin >> n >> x; vector<int> arr(n,0); for(int i = 0; i < n; i++) cin >> arr[i]; int index[2] = {0};//保存最后的结果 //滑动窗口 int cur = 0; int prev = 0; int sum = 0; while(cur < n) { sum += arr[cur]; while(sum >= x)//入窗口 { if(index[0] == 0 && index[1] == 0) { index[0] = prev; index[1] = cur; sum -= arr[prev++]; continue; } int length = index[1] - index[0]; int camplen = cur - prev; if(length == camplen || length > camplen) { if(prev < index[0] || length > camplen) { index[0] = prev; index[1] = cur; } } sum -= arr[prev++]; } //出窗口 cur++; } cout << index[0] + 1 << ' ' << index[1] + 1 << endl; return 0; }

Read more

【大数据存储与管理】分布式文件系统HDFS:06 HDFS的数据读写过程

【大数据存储与管理】分布式文件系统HDFS:06 HDFS的数据读写过程

【作者主页】Francek Chen 【专栏介绍】 ⌈ ⌈ ⌈大数据技术原理与应用 ⌋ ⌋ ⌋专栏系统介绍大数据的相关知识,分为大数据基础篇、大数据存储与管理篇、大数据处理与分析篇、大数据应用篇。内容包含大数据概述、大数据处理架构Hadoop、分布式文件系统HDFS、分布式数据库HBase、NoSQL数据库、云数据库、MapReduce、Hadoop再探讨、数据仓库Hive、Spark、流计算、Flink、图计算、数据可视化,以及大数据在互联网领域、生物医学领域的应用和大数据的其他应用。 【GitCode】专栏资源保存在我的GitCode仓库:https://gitcode.com/Morse_Chen/BigData_principle_application。 文章目录 * 一、读数据的过程 * 二、写数据的过程 * 小结 在介绍 HDFS 的数据读写过程之前,需要简单介绍一下相关的类。FileSystem 是一个通用文件系统的抽象基类,可以被分布式文件系统继承,所有可能使用

By Ne0inhk
【算法通关指南:算法基础篇】二分算法:1.在排序树组中查找元素的第一个和最后一个位置 2.牛可乐和魔法封印

【算法通关指南:算法基础篇】二分算法:1.在排序树组中查找元素的第一个和最后一个位置 2.牛可乐和魔法封印

🔥小龙报:个人主页 🎬作者简介:C++研发,嵌入式,机器人方向学习者 ❄️个人专栏:《算法通关指南》 ✨ 永远相信美好的事情即将发生 文章目录 * 前言 * 一、二分算法 * 二、在排序树组中查找元素的第一个和最后一个位置 * 2.1题目 * 2.2 算法原理 * 2.3代码 * 三、牛可乐和魔法封印 * 3.1题目 * 3.2 算法原理 * 3.3代码 * 总结与每日励志 前言 本专栏聚焦算法题实战,系统讲解算法模块:以《c++编程》,《数据结构和算法》《基础算法》《算法实战》 等几个板块以题带点,讲解思路与代码实现,帮助大家快速提升代码能力ps:本章节题目分两部分,比较基础笔者只附上代码供大家参考,其他的笔者会附上自己的思考和讲解,希望和大家一起努力见证自己的算法成长 一、

By Ne0inhk
数据结构【栈和队列附顺序表应用算法】

数据结构【栈和队列附顺序表应用算法】

栈和队列和顺序表应用算法练习 * 1.栈 * 1.1概念与结构 * 1.2栈的实现 * 2.队列 * 2.1概念与结构 * 2.2队列的实现 * 3.附(顺序表应用算法) * 3.1移除元素 * 3.2删除有序数组中的重复项 * 3.3合并两个有序数组 1.栈 1.1概念与结构 栈:⼀种特殊的线性表,其只允许在固定的⼀端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶,另⼀端称为栈底。栈中的数据元素遵守后进先出的原则。 压栈:栈的插入操作叫做进栈/压栈/入栈,入数据在栈顶。 出栈:栈的删除操作叫做出栈,出数据也在栈顶。 1.2栈的实现 typedefint STDataType;typedefstructStack{ STDataType * a;int

By Ne0inhk
python基于大数据的手机商品数据分析

python基于大数据的手机商品数据分析

目录 * 手机商品数据分析的摘要 * 开发技术路线 * 相关技术介绍 * 核心代码参考示例 * 结论 * 源码lw获取/同行可拿货,招校园代理 :文章底部获取博主联系方式! 手机商品数据分析的摘要 随着智能手机市场的快速发展,海量数据为产品优化和商业决策提供了重要依据。Python凭借其强大的数据处理和可视化能力,成为手机商品数据分析的核心工具。 数据采集阶段,可通过爬虫技术(如Scrapy、BeautifulSoup)从电商平台(京东、淘宝)获取手机销售数据,包括价格、销量、用户评价等。结构化数据存储于MySQL或MongoDB,非结构化数据(如评论文本)通过NLTK或jieba进行分词和情感分析。 数据清洗环节使用Pandas处理缺失值和异常值,例如剔除价格异常记录或填充平均评分。特征工程中,提取关键指标如品牌市场份额、价格分布、用户满意度,并利用Matplotlib或Seaborn生成可视化图表(如热力图展示品牌-价格相关性)。 机器学习模型(如随机森林、XGBoost)可预测销量趋势或用户购买意愿,特征重要性分析揭示影响销量的核心因素(如CP

By Ne0inhk