js算法记录

> 更多请前往 https://www.passerma.com/article/86

滑动窗口

1

给定一个矩阵,包含N*M个整数,和一个包含K个整数的数组。现在要求在这个矩阵中找一个宽度最小的子矩阵,要求子矩阵包含数组中所有的整数

function minSubmatrixWidth(matrix, nums) {const row = matrix.length, col = matrix[0].length;let minWidth = Infinity;for (let i = 0; i < col; i++) {const numsCopy = [...nums];let found = 0;for (let j = i; j < col; j++) {for (let k = 0; k < row; k++) {const num = matrix[k][j];const index = numsCopy.indexOf(num);if (index !== -1) {numsCopy.splice(index, 1);found++;}}if (found === nums.length) {minWidth = Math.min(minWidth, j - i + 1);if (minWidth === 1) {return minWidth}}}}return minWidth
}
// 计算最小宽度的子矩阵
console.log(minSubmatrixWidth([[1, 2, 3],[3, 5, 6]
], [3, 6]));
console.log(minSubmatrixWidth([[1, 2, 3],[3, 5, 6]
], [1, 6]));
console.log(minSubmatrixWidth([[1, 2, 3],[3, 5, 6]
], [4]));
console.log(minSubmatrixWidth([[1, 0, 1, 4],[0, 0, 7, 8],[1, 0, 11, 12],[0, 0, 15, 16]
], [1, 0, 1, 0, 1, 0]));

输出:
在这里插入图片描述

循环

1

为了充分发挥GPU算力,需要尽可能多的将任务交给GPU执行,现在有一个任务数组,数组元素表示在这1秒内新增的任务个数且每秒都有新增任务,假设GPU最多一次执行n个任务,一次执行耗时1秒,在保证GPU不空闲情况下,最少需要多长时间执行完成

function minExecutionTime(maxExec, tasks) {let remaining = 0, time = 0for (let task of tasks) {if (task + remaining > maxExec) {remaining = task + remaining - maxExec;} else {remaining = 0;}time += 1;}while (remaining > 0) {remaining -= maxExec;time += 1;}return time
}
console.log(minExecutionTime(3, [1, 2, 3, 4, 5]));
console.log(minExecutionTime(4, [5, 4, 1, 1, 1]));

输出:
在这里插入图片描述
> 更多请前往 https://www.passerma.com/article/86

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/774904.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JAVA面试大全之JVM和调休篇

目录 1、类加载机制 1.1、类加载的生命周期&#xff1f; 1.2、类加载器的层次? 1.3、Class.forName()和ClassLoader.loadClass()区别? 1.4、JVM有哪些类加载机制&#xff1f; 2、内存结构 2.1、说说JVM内存整体的结构&#xff1f;线程私有还是共享的&#xff1f; 2.2…

深入理解SSL协议:从理论到实践(二)

前言 这是一篇关于SSL协议的技术文章&#xff0c;有理论知识&#xff0c;但又兼具一定的实战性&#xff0c;文章的主要内容分享了SSL协议的核心概念、工作原理、常见的应用场景&#xff0c;以及就https这种实际应用场景&#xff0c;又着重分享具体的工作原理以及如何实现https…

鸿蒙HarmonyOS应用开发之使用Node-API接口创建ArkTs运行时环境

场景介绍 开发者通过pthread_create创建新线程后&#xff0c;可以通过napi_create_ark_runtime来创建一个新的ArkTs基础运行时环境&#xff0c;并通过该运行时环境加载ArkTs模块&#xff0c;目前仅支持在ArkTs模块中使用console接口打印日志&#xff0c;使用timer定时器功能。…

气体间隙的击穿强度

本篇为本科课程《高电压工程基础》的笔记。 气体间隙的击穿电压难以精确计算。工程应用中&#xff0c;大多参照一些典型的击穿电压试验数据来选择绝缘距离&#xff0c;要求较高的情况下感召实际电极布置&#xff0c;用实验方法来确定击穿电压。 稳态电压下的击穿 直流与工频…

SQL数据插入详解:单行与多行数据添加指南

在SQL&#xff08;Structured Query Language&#xff0c;结构化查询语言&#xff09;中&#xff0c;添加数据通常使用INSERT INTO语句。以下是如何使用INSERT INTO语句向数据库表中添加数据的详细步骤和示例。 基本语法 INSERT INTO table_name (column1, column2, column3,…

每天一个数据分析题(二百三十)

在神经网络的优化算法中&#xff0c;Adam优化算法是结合了哪两种优化技术的优点&#xff1f; A.动量 (Momentum) 和 Adagrad B.Nesterov 动量和 RMSprop C.RMSprop 和 动量 (Momentum) D.SGD 和 Nesterov 动量 题目来源于CDA模拟题库 点击此处获取答案

SpringBoot 多数据源及事务解决方案

1. 背景 一个主库和N个应用库的数据源&#xff0c;并且会同时操作主库和应用库的数据&#xff0c;需要解决以下两个问题&#xff1a; 如何动态管理多个数据源以及切换&#xff1f; 如何保证多数据源场景下的数据一致性(事务)&#xff1f; 本文主要探讨这两个问题的解决方案…

全量知识系统 详细设计 “祖传代码”之序 “元素周期表”(QA)之2

Q11.将三部分拿出来单独看一下&#xff1a;一、管理者-组传代码&#xff08;祖传--宝藏&#xff1a;源头上保证&#xff09;&#xff1a; 二、代理者-软件代理&#xff08;继承--差异&#xff1a;广度上扩展)。 三、提供者-AI组件&#xff08;遗传--对齐&#xff1a;强度上增强…

第4章树与二叉树

属于二叉树 跟链表的不同&#xff1a;每个节点可以指向多个节点 所以直接改变next[n]就好 链表是树形结构特例 树的深度(高度): 层数 5 [1 4 5 7 8] 节点深度&#xff1a;从根节点开始&#xff0c;4的深度&#xff1a;[1 4] 1 节点高度&#xff1a;从叶子节点开始&#xff0c;4…

数字化时代下的电子元器件商城模式创新

在数字化时代&#xff0c;电子元器件商城可以通过以下方式进行模式创新&#xff1a; 智能化搜索与推荐&#xff1a; 引入人工智能和机器学习技术&#xff0c;提供智能化搜索和个性化推荐功能&#xff0c;根据客户的需求和历史购买记录推荐相关的电子元器件&#xff0c;以提高购…

全国植被类型分布数据

引言 全国植被类型分布数据利用 Landsat 卫星数据&#xff08;Landsat TM&#xff0c;ETM和 OLI&#xff09;完成了长时序的地表覆盖变化检测&#xff0c;并结合变化 检测结果实现了逐区域和逐期的地表覆盖动态更新&#xff0c;30米精细植被类型分布数据&#xff0c;共包含 2…

Java 总结二

一、抽象类和接口 抽象类使用abstract修饰&#xff0c;不能实例化。抽象类中可以有零到多个抽象方法。抽象方法使用abstract关键字修饰&#xff0c;没有方法体。如果非抽象类继承抽象类&#xff0c;则必须实现父类的所有的抽象方法&#xff0c;否则子类还是一个抽象类。用fina…

Python爬虫之爬取网页图片

当我们想要下载网页的图片时&#xff0c;发现网页的图片太多了&#xff0c;无从下手&#xff0c;那我们写一个脚本来爬取呗。 这次的脚本是专门针对某个外国网站使用的&#xff0c;因此仅供参考思路。 在测试的过程中&#xff0c;我发现网站使用了发爬虫机制&#xff0c;具体就…

FPGA工程师及其相关岗位招聘~

社区的招聘功能上线之后&#xff0c;许多企业都在上面发布了招聘岗位。 目前有30企业&#xff0c;岗位围绕FPGA工程师&#xff0c;涵盖嵌入式软件工程师、射频工程师、C语言开发、BMC工程师等等&#xff0c;入口放在这里&#xff1a;F学社-全球FPGA技术提升平台 登录账号后&a…

<QT基础(1)>对象树结构

在Qt中&#xff0c;当你将一个对象设置为另一个对象的子对象时&#xff0c;Qt会自动管理它们的生命周期&#xff0c;包括子对象在堆上分配的内存空间。这意味着&#xff0c;如果你使用 new 在堆上创建了一个子对象&#xff0c;并将其设置为另一个对象的子对象&#xff0c;当父对…

海思 Hi3536AV100 简介

海思 Hi3536AV100 简介 Hi3536AV100 是针对多路高清/超高清&#xff08;1080p/4M/5M/4K&#xff09;智能NVR产品应用开发的新一代专业高端SoC芯片。集成了ARM Cortex-A55八核处理器和性能强大的神经网络处理器&#xff0c;支持多种智能算法应用。支持32路1080p多协议解码及4路…

OpenFoam最全总结

一、OpenFOAM用户指南-9(中文版)&#xff1a;这个里面用中文写了OpenFOam相关的基础知识和文件结构和基础语法&#xff0c;包括安装、使用、案例、paraview可视化等&#xff0c;是最全的的一个文档。 http://www.dyfluid.com/theory.pdf 二、无痛苦N-S方程笔记&#xff08;东岳…

深入浅出(五)QtPropertyBrowser库—属性编辑器

文章目录 1. QtPropertyBrowser简介1.1 下载 2. 编译和部署&#xff1a;3. C示例 1. QtPropertyBrowser简介 QtPropertyBrowser是一个第三方库&#xff0c;用于在Qt应用程序中显示和编辑属性。它不是Qt框架的一部分&#xff0c;但可以与Qt一起使用。 1.1 下载 GitHub地址&am…

URL是什么?(概念+应用场景+优缺点)

1、概念 URL&#xff08;Uniform Resource Locator&#xff09;是统一资源定位符的缩写&#xff0c;简称网址。 用于指定网络上的资源的位置和访问方式。 它包含了资源的协议、主机名、路径等信息&#xff0c;可以唯一标识互联网上的资源。 2、作用&#xff1a; ① 定位资…

HCIP-Datacom(H12-821)题库补充(3/27)

最新 HCIP-Datacom&#xff08;H12-821&#xff09;完整题库请扫描上方二维码访问&#xff0c;持续更新中。 运行OSPF协议的路由器&#xff0c;所有接口必须属于同一个区域。 A&#xff1a;正确 B&#xff1a;错误 答案&#xff1a;B 解析&#xff1a;OSPF的邻居关系是基于…