leetcode第 387 场周赛总结

很久没打周赛了,这周开始恢复

这次周赛,题目比较简单,第三道题有点浪费了时间,思路是对的,但是被我把问题复杂化了。


给你一个下标从 1 开始、包含 不同 整数的数组 nums ,数组长度为 n 。

你需要通过 n 次操作,将 nums 中的所有元素分配到两个数组 arr1 和 arr2 中。在第一次操作中,将 nums[1] 追加到 arr1 。在第二次操作中,将 nums[2] 追加到 arr2 。之后,在第 i 次操作中:

  • 如果 arr1 的最后一个元素 大于 arr2 的最后一个元素,就将 nums[i] 追加到 arr1 。否则,将 nums[i] 追加到 arr2 。

通过连接数组 arr1 和 arr2 形成数组 result 。例如,如果 arr1 == [1,2,3] 且 arr2 == [4,5,6] ,那么 result = [1,2,3,4,5,6] 。

返回数组 result 。

第一道简单题,可以通过slice(-1)获取最新插入的数,进行比较分别操作即可,没什么好说的。 

/*** @param {number[]} nums* @return {number[]}*/
var resultArray = function(nums) {let arr1=[];let arr2=[];let result=[];let n=nums.length;if(n==0){return result;}arr1.push(nums[0]);arr2.push(nums[1]);for(let i=2;i<n;i++){let num1=arr1.slice(-1);let num2=arr2.slice(-1);if(num1-num2>0){arr1.push(nums[i]);}else{arr2.push(nums[i]);}}result.push(...arr1,...arr2);return result;
};

 

给你一个下标从 0 开始的整数矩阵 grid 和一个整数 k

返回包含 grid 左上角元素、元素和小于或等于 k 的 子矩阵 的数目。

这道题其实就是个简单的二维前缀和,也很简单。因为每个矩阵需要包含左上角第一个元素,所以直接从左上角开始填表计算前缀和并不断更新最大值就可以了。

/*** @param {number[][]} grid* @param {number} k* @return {number}*/
var countSubmatrices = function(grid, k) {let n=grid.length;let m=grid[0].length;let cnt=0;const dp=new Array(n+1).fill(0).map(()=>new Array(m+1).fill(0))for(let i=1;i<=n;i++){for(let j=1;j<=m;j++){dp[i][j]=dp[i-1][j]+dp[i][j-1]-dp[i-1][j-1]+grid[i-1][j-1];if(dp[i][j]<=k)cnt++;}}return cnt;
};

 

这道题其实也很简单,关键是数据量很小,矩阵最大才49*49;数值只可能是0,1,2;

而且Y的位置是随n的大小固定的,所以我们只需要统计出Y内的0,1,2的数量以及整个矩阵的0,1,2的数量,然后计算出最小操作数就可以了。比赛的时候这道题我稍微想复杂了一点,其实没必要得到整体的数字情况和Y内的数字情况后再计算出Y外的数字情况来计算。

这里我已经改进了,但主要还是提供一个思路,就不把修改后的代码贴出来了,如果不会这道题可以顺着我的思路自己做出来。 

/*** @param {number[][]} grid* @return {number}*/
var minimumOperationsToWriteY = function(grid) {let n = grid.length;let x = Math.floor(n / 2);//中心点坐标//数值只有0,1,2三种let inner = [0, 0, 0];let all = [0, 0, 0];let outer = [0, 0, 0];for (let i = 0; i < x; i++) {inner[grid[i][i]]++;//第一笔inner[grid[i][n - 1 - i]]++;//第二笔inner[grid[n - 1 - i][x]]++; // 第三笔}inner[grid[x][x]]++;//中心点for (let i = 0; i < n; i++) {for (let j = 0; j < n; j++) {all[grid[i][j]]++;}}for (let i = 0; i < 3; i++) {outer[i] = all[i] - inner[i];}//这里其实没必要计算outerlet res = Math.min(inner[1] + inner[2] + outer[0] + Math.min(outer[1], outer[2]))res = Math.min(res, Math.min(inner[0] + inner[2] + outer[1] + Math.min(outer[0], outer[2])))res = Math.min(res, Math.min(inner[1] + inner[0] + outer[2] + Math.min(outer[1], outer[0])))return res;
};

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

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

相关文章

【QT 5 +Linux下软件qt软件打包+qt生成软件创建可以安装压缩包+学习他人文章+第三篇:学习打包】

【QT 5 Linux下软件qt软件打包qt生成软件创建可以安装压缩包学习他人文章第三篇&#xff1a;学习打包】 1、前言2、实验环境3、自我学习总结-本篇总结&#xff08;1&#xff09;了解安装包的目录结构&#xff08;2&#xff09;了解要编写文件与编写脚本1. control文件2. postin…

美女街拍3000张高清图

美女街拍3000张高清图&#xff0c;需要的可以直接下载 2.资源下载 ​途径一&#xff1a;点击以下链接直接下载 美女街拍3000张高清图 途径二&#xff1a;直接长按住以下图片识别进去下载即可

北京大学发布,将试错引入大模型代理学习!

引言&#xff1a;探索语言智能的新边界 在人工智能的发展历程中&#xff0c;语言智能始终是一个核心的研究领域。随着大语言模型&#xff08;LLM&#xff09;的兴起&#xff0c;我们对语言智能的理解和应用已经迈入了一个新的阶段。这些模型不仅能够理解和生成自然语言&#x…

UCSF DOCK 分子对接详细案例(01)- rigid, fixed anchor, flexible dock

欢迎浏览我的CSND博客&#xff01; Blockbuater_drug …点击进入 文章目录 前言一、操作环境二、研究背景三、受体-配体结构文件准备3.1准备文件夹DOCK_workdir, 下载晶体结构3.1.1 来自湿实验的受体配体共晶结构&#xff1a;3.1.2 来自深度学习和语言模型推理预测的蛋白结构&a…

了解游戏中的数据同步

目录 数据同步 通过比较来看状态同步和帧同步 状态同步 帧同步 帧同步实现需要的条件 两者相比较 数据同步 在联机游戏中&#xff0c;我的操作和数据要同步给同一局游戏中其他所有玩家&#xff0c;其他玩家的操作和数据也会同步给我。这叫做数据同步&#xff0c;目前数据…

幻兽帕鲁(1.5.0)可视化管理工具(0.5.7 docker版)安装教程

文章目录 局域网帕鲁服务器部署教程帕鲁服务可视化工具安装配置服务器地址&#xff08;可跳过&#xff09;使用工具管理面板 1.5.0服务端RCON错误1.5.0服务端无法启动RCON端口 解决方法第一步&#xff1a;PalWorldSettings.ini配置第二步&#xff1a;修改PalServer.sh配置 局域…

Unity(第二十一部)动画的基础了解(感觉不了解其实也行)

1、动画组件老的是Animations 动画视频Play Automatically 是否自动播放Animate Physics 驱动方式&#xff0c;勾选后是物理驱动Culling Type 剔除方式 默认总是动画化就会一直执行下去&#xff0c;第二个是基于渲染播放&#xff08;离开镜头后不执行&#xff09;&#xff0c; …

数仓模型设计方法论

在当今大数据时代&#xff0c;数据已经成为企业最重要的资产之一。而数据仓库作为企业数据管理和分析的核心基础设施&#xff0c;其设计方法论对于企业的数据治理和决策分析至关重要。本文将探索数仓模型设计的方法论&#xff0c;帮助读者更好地理解和应用数仓模型设计。 一、…

day06_菜单管理(查询菜单,添加菜单,添加子菜单,修改菜单,删除菜单,角色分配菜单,查询菜单,保存菜单,动态菜单)

文章目录 1 菜单管理1.1 表结构介绍1.2 查询菜单1.2.1 需求说明1.2.2 页面制作1.2.3 后端接口SysMenuSysMenuControllerSysMenuServiceMenuHelperSysMenuMapperSysMenuMapper.xml 1.2.4 前端对接sysMenu.jssysMenu.vue 1.3 添加菜单1.3.1 需求说明1.3.3 页面制作1.3.3 后端接口…

AI新工具(20240228) EMO - 阿里巴巴的表情驱动的音频到视频转换框架;DepthFlow;Globe Explorer等

EMO - 阿里巴巴的表情驱动的音频到视频转换框架 EMO&#xff08;Emote Portrait Alive&#xff09;是一个先进的表情驱动的音频到视频转换框架&#xff0c;可以通过音频&#xff08;比如说话或唱歌的声音&#xff09;和一张单独的参考图片&#xff0c;生成带有丰富面部表情和头…

【前端面试题5】利用 border 属性画一个三角形

举例1&#xff1a;利用 border 属性画一个三角形&#xff08;小技巧&#xff09; 完整代码如下&#xff1a; div{width: 0;height: 0;border: 50px solid transparent;border-top-color: red;border-bottom: none; }步骤如下&#xff1a; &#xff08;1&#xff09;当我们设…

es集群的详细搭建过程

目录 一、VM配置二、集群搭建三、集群配置 一、VM配置 VM的安装 VMware Workstation 15 Pro的安装与破解 VM新建虚拟机 VM新建虚拟机 二、集群搭建 打开新建好的服务器&#xff0c;node1&#xff0c;使用xshell远程连接 下载es&#xff1a;https://www.elastic.co/cn/down…

java中的set

Set Set集合概述和特点 不可以存储重复元素 没有索引,不能使用普通for循环遍历 哈希值 哈希值简介 是JDK根据对象的地址或者字符串或者数字算出来的int类型的数值 如何获取哈希值 Object类中的public int hashCode()&#xff1a;返回对象的哈希码值。 哈希值的特点 同一个…

xss.haozi.me:0x0B

<svg><script>(1)</script>

【王道操作系统】ch1计算机系统概述-06虚拟机

文章目录 【王道操作系统】ch1计算机系统概述-06虚拟机01传统计算机02虚拟机的基本概念&#xff08;1&#xff09;第一类虚拟机管理程序&#xff08;2&#xff09; 第二类虚拟机管理程序&#xff08;3&#xff09; 两类虚拟机管理程序的对比 【王道操作系统】ch1计算机系统概述…

面试经典150题 -- 回溯 (总结)

总的链接 : 面试经典 150 题 - 学习计划 - 力扣&#xff08;LeetCode&#xff09;全球极客挚爱的技术成长平台 17 . 电话号码的字母组合 1 . 先创建一个下标 与 对应字符串映射的数组&#xff0c;这里使用hash表进行映射也是可以的 &#xff1b; 2 . 对于回溯 &#xff0c;…

live555学习 - 环境准备

环境&#xff1a;Ubuntu 16.04.7 ffmpeg-6.1 1 代码下载 最新版本&#xff1a; http://www.live555.com/liveMedia/public/ 历史版本下载 https://download.videolan.org/pub/contrib/live555/ 选择版本live.2023.01.19.tar.gz ps&#xff1a;没有选择新版本是新版本在…

用堆排序解决topk问题

topk问题 从一群数中取出前k高或者低的数。&#xff08;就好比要做一个像csdn热度榜一样的东西&#xff09; 堆的基础知识&#xff1a;【python】堆排序-CSDN博客 堆排序解决思路 1.先用列表的k个元素构建一个小根堆&#xff0c;小根堆最上面的元素就是最小的元素 2.依次拿…

(学习日记)2024.03.01:UCOSIII第三节 + 函数指针 (持续更新文件结构)

写在前面&#xff1a; 由于时间的不足与学习的碎片化&#xff0c;写博客变得有些奢侈。 但是对于记录学习&#xff08;忘了以后能快速复习&#xff09;的渴望一天天变得强烈。 既然如此 不如以天为单位&#xff0c;以时间为顺序&#xff0c;仅仅将博客当做一个知识学习的目录&a…

算法:动态规划

文章目录 引子&#xff1a;凑零钱一、斐波那契数列模型引例&#xff1a;第 N 个泰波那契数动态规划步骤空间优化 例题1 三步问题例题2&#xff1a;使用最小花费爬楼梯★例题3&#xff1a;解码方法 ★ 二、路径问题例题4&#xff1a;不同路径例题5&#xff1a;下降路径最小和例题…