lintcode 1815 · 警报器 【simple vip 前缀和数组】
题目
https://www.lintcode.com/problem/1815
一个烟雾警报器会监测len秒内的烟雾值,如果这段时间烟雾值平均值大于k那么警报器会报警。现在给你n个数代表刚开始工作n秒内警报器监测的烟雾值(警报器从第len秒开始判断是否报警),问警报器在这段时间内会报警几次?1 <= k <= n <= 100000
1 <= len <= 100000
0 <= num[i] <= 100000 (1 <= i <= n)样例
输入: n = 8, k = 4, len = 3, num = [2, 2, 2, 2, 5, 5, 5, 8].
输出: 2
解释: 从 T = 3 to T = 8, 监测的平均值为 2, 2, 3, 4, 5 and 6. 其中5和6 > k, 所以答案shi2.
思考
本答案利用前缀和数组来解答。根据题意:
从第len个开始,求每len个长度的子串平均值是否大于k,大于的话就会报警
参考代码
public class Solution {/*** @param n: * @param k: * @param len: * @param num: same as problem* @return: //return long*/public long solve(int n, int k, int len, int[] num) {//根据题意和例子可知:// 从第len个开始,求每len个长度的子串平均值是否大于k,大于的话就会报警long[] sum = new long[n+1];for (int i = 0; i <n ; i++) {sum[i+1]= sum[i]+ num[i];}int ans =0;for (int i = len; i <=n ; i++) {long cur = (sum[i]-sum[i-len]);if(cur/len >k) ans++;}return ans;}
}
相关文章:
lintcode 1815 · 警报器 【simple vip 前缀和数组】
题目 https://www.lintcode.com/problem/1815 一个烟雾警报器会监测len秒内的烟雾值,如果这段时间烟雾值平均值大于k那么警报器会报警。现在给你n个数代表刚开始工作n秒内警报器监测的烟雾值(警报器从第len秒开始判断是否报警),…...
【强化学习】MDP马尔科夫链
基本元素 状态集:表示智能体所处所有状态的全部可能性的集合。类似的集合,行为集,回报集决策:规定我在某个状态下,我做出某个action马尔可夫链:学术上来说是无记忆性质。说白了就是我只在乎我目前的状态。…...
SpringBoot自写项目记录
设置静态资源映射 Slf4j 用来打印日志 Configuration Slf4j //设置静态资源映射 public class WebMvcConfig extends WebMvcConfigurationSupport {Overrideprotected void addResourceHandlers(ResourceHandlerRegistry registry) {log.info("开始静态资源配置");r…...
Windows10上使用llama-recipes(LoRA)来对llama-2-7b做fine-tune
刚刚在Windows10上搭建环境来对llama2做finetune,里面坑还是挺多的,这里把印象中的坑整理了一下以作备忘。 llama-recipes是meta的开源项目,Github地址为:GitHub - facebookresearch/llama-recipes: Examples and recipes for Ll…...
06-限流策略有哪些,滑动窗口算法和令牌桶区别,使用场景?【Java面试题总结】
限流策略有哪些,滑动窗口算法和令牌桶区别,使用场景? 常见的限流算法有固定窗口、滑动窗口、漏桶、令牌桶等。 6.1 固定窗口 概念:固定窗口(又称计算器限流),对一段固定时间窗口内的请求进行…...
2021年06月 C/C++(六级)真题解析#中国电子学会#全国青少年软件编程等级考试
C/C++编程(1~8级)全部真题・点这里 第1题:逆波兰表达式 逆波兰表达式是一种把运算符前置的算术表达式,例如普通的表达式2 + 3的逆波兰表示法为+ 2 3。逆波兰表达式的优点是运算符之间不必有优先级关系,也不必用括号改变运算次序,例如(2 + 3) * 4的逆波兰表示法为* + 2 3 …...
Tuxera NTFS for Mac2023苹果电脑Mac硬盘读写工具
Tuxera NTFS for Mac是一款高效稳定的NTFS读写工具,可以让你在Mac上完整地读写兼容NTFS格式驱动器,对磁盘进行访问、编辑、存储和传输文件等操作。Tuxera NTFS for Mac软件是一款高效稳定的NTFS读写工具,可以让你在Mac上完整地读写兼容NTFS格…...
系统调用的过程
系统调用也是库函数的底层实现,当高级语言代码中如调用了库函数,在编译为机器语言指令后,指令包含前期处理相关命令、传参指令、陷入指令、后续处理相关指令。在执行陷入指令时发生内中断,使CPU进入核心态,执行对系统调…...
Python将多个文件的名称或后缀名由大写字母修改为小写的方法
本文介绍基于Python语言,基于一个大文件夹,遍历其中的多个子文件夹,并对于每一个子文件夹中的大量文件,批量将其文件的名称或后缀名中的字母由大写修改为小写的方法。 本文期望实现的需求为:现有一个大文件夹ÿ…...
Debezium的三种部署方式
Debezium如何部署 debezium 有下面三种部署方式,其中最常用的就是 kafka connect。 kafka connect 一般情况下,我们通过 kafka connect 来部署 debezium,kafka connect 是一个框架和运行时: source connectors:像 debezium 这样将记录发送到 kafka 的source connectors…...
通讯协议057——全网独有的OPC HDA知识一之接口(十二)IOPCHDA_DataCallback
本文简单介绍OPC HDA规范的IOPCHDA_DataCallback(客户端接口)接口方法,更多通信资源请登录网信智汇(wangxinzhihui.com)。 1)HRESULT OnDataChange(dwTransactionID, hrStatus, dwNumItems, pItemValues, phrErrors) 此方法由客…...
后端SpringBoot+前端Vue前后端分离的项目(一)
前言:后端使用SpringBoot框架,前端使用Vue框架,做一个前后端分离的小项目,需求:实现一个表格,具备新增、删除、修改的功能。 目录 一、数据库表的设计 二、后端实现 环境配置 数据处理-增删改查 model…...
docker 安装 MySQL5.7
1、拉取镜像 docker pull mysql:5.7 2、创建容器 docker run \ -d \ -p 3306:3306 \ --name mysql \ --privilegedtrue \ -v /var/docker/mysql/log:/var/log/mysql \ -v /var/docker/mysql/data:/var/lib/mysql \ -v /var/docker/mysql/conf:/etc/mysql/conf.d \ -e MYSQL_…...
分布式session的4种解决方案
分布式session的4种解决方案 1、cookie和session cookie和session都是用来跟踪用户身份信息的会话方式。 cookie存储的数据保存在本地客户端,用户获取容易,但安全性不高,存储数据小。 session存储的数据保存在服务器,用户不易获取…...
SQL Server2008下载地址
SQL Server2008下载地址 https://www.microsoft.com/zh-CN/download/details.aspx?id30438 版本说明 Microsoft SQL Server 2008 R2 Express Service Pack 2 是功能丰富的 SQL Server 免费版本,是学习、开发桌面、Web 及小型服务器应用程序并为它们提供功能的理…...
MySQL函数和约束
MySQL常见函数 字符串常见函数 # concat : 字符串拼接 select concat(Hello , MySQL); # lower : 全部转小写 SELECT LOWER(Hello); # upper : 全部转大写 SELECT UPPER(hello); # lpad : 左填充 SELECT LPAD(hello,10,0); # rpad : 右填充 SELECT RPAD(hello,10,0); # trim…...
关于一个git的更新使用流程
1.第一步使用git bash 使用git bash命令来进行操作(当然我是个人比较喜欢用这种方法的) 2. 第二步:连接 3.第三步:进入 4.第四步:查看分支 5.第五步:切换分支 将本地文件更新后之后进行提交 6.第六步&am…...
vue 对后端返回字段值为null的变成空字符串
// 字段null转字符串 1.export function null2str(data) { for (let x in data) { if (data[x] null) { // 如果是null 把直接内容转为 data[x] ""; } else { if (Array.isArray(data[x])) { …...
C++,菱形继承和虚继承
一、菱形继承的基本概念 菱形继承又称为钻石继承,由公共基类派生出多个中间子类,又由多个中间子类共同派生出汇聚子类。汇聚子类会得到,中间子类从公共基类继承下来的多份成员。 菱形继承的格式: A --------公共基类/ \…...
js实现一行半文本的截取
最近遇到一个需求是要在第二行的中间截取文本,因为在后面得贴一个图标,所以这种情况用常规的css截取文本有点难处理。于是在上网查阅后发现了几个方法:第一种是用伪元素加定位,把.;11..盖在文字的上面;第二…...
java 实现excel文件转pdf | 无水印 | 无限制
文章目录 目录 文章目录 前言 1.项目远程仓库配置 2.pom文件引入相关依赖 3.代码破解 二、Excel转PDF 1.代码实现 2.Aspose.License.xml 授权文件 总结 前言 java处理excel转pdf一直没找到什么好用的免费jar包工具,自己手写的难度,恐怕高级程序员花费一年的事件,也…...
深入浅出:JavaScript 中的 `window.crypto.getRandomValues()` 方法
深入浅出:JavaScript 中的 window.crypto.getRandomValues() 方法 在现代 Web 开发中,随机数的生成看似简单,却隐藏着许多玄机。无论是生成密码、加密密钥,还是创建安全令牌,随机数的质量直接关系到系统的安全性。Jav…...
04-初识css
一、css样式引入 1.1.内部样式 <div style"width: 100px;"></div>1.2.外部样式 1.2.1.外部样式1 <style>.aa {width: 100px;} </style> <div class"aa"></div>1.2.2.外部样式2 <!-- rel内表面引入的是style样…...
C++中string流知识详解和示例
一、概览与类体系 C 提供三种基于内存字符串的流,定义在 <sstream> 中: std::istringstream:输入流,从已有字符串中读取并解析。std::ostringstream:输出流,向内部缓冲区写入内容,最终取…...
在鸿蒙HarmonyOS 5中使用DevEco Studio实现录音机应用
1. 项目配置与权限设置 1.1 配置module.json5 {"module": {"requestPermissions": [{"name": "ohos.permission.MICROPHONE","reason": "录音需要麦克风权限"},{"name": "ohos.permission.WRITE…...
select、poll、epoll 与 Reactor 模式
在高并发网络编程领域,高效处理大量连接和 I/O 事件是系统性能的关键。select、poll、epoll 作为 I/O 多路复用技术的代表,以及基于它们实现的 Reactor 模式,为开发者提供了强大的工具。本文将深入探讨这些技术的底层原理、优缺点。 一、I…...
【Java学习笔记】BigInteger 和 BigDecimal 类
BigInteger 和 BigDecimal 类 二者共有的常见方法 方法功能add加subtract减multiply乘divide除 注意点:传参类型必须是类对象 一、BigInteger 1. 作用:适合保存比较大的整型数 2. 使用说明 创建BigInteger对象 传入字符串 3. 代码示例 import j…...
推荐 github 项目:GeminiImageApp(图片生成方向,可以做一定的素材)
推荐 github 项目:GeminiImageApp(图片生成方向,可以做一定的素材) 这个项目能干嘛? 使用 gemini 2.0 的 api 和 google 其他的 api 来做衍生处理 简化和优化了文生图和图生图的行为(我的最主要) 并且有一些目标检测和切割(我用不到) 视频和 imagefx 因为没 a…...
Vue ③-生命周期 || 脚手架
生命周期 思考:什么时候可以发送初始化渲染请求?(越早越好) 什么时候可以开始操作dom?(至少dom得渲染出来) Vue生命周期: 一个Vue实例从 创建 到 销毁 的整个过程。 生命周期四个…...
论文阅读:LLM4Drive: A Survey of Large Language Models for Autonomous Driving
地址:LLM4Drive: A Survey of Large Language Models for Autonomous Driving 摘要翻译 自动驾驶技术作为推动交通和城市出行变革的催化剂,正从基于规则的系统向数据驱动策略转变。传统的模块化系统受限于级联模块间的累积误差和缺乏灵活性的预设规则。…...
