力扣-Hot100-数组【算法学习day.37】

ops/2024/11/20 18:44:54/

前言

###我做这类文档一个重要的目的还是给正在学习的大家提供方向(例如想要掌握基础用法,该刷哪些题?)我的解析也不会做的非常详细,只会提供思路和一些关键点,力扣上的大佬们的题解质量是非常非常高滴!!!


习题

tip:部分题我暴力写法,没按照题目限制要求,建议看看题解

1.轮转数组

题目链接:189. 轮转数组 - 力扣(LeetCode)

题面:

代码:

java">class Solution {public void rotate(int[] nums, int k) {int n = nums.length;k = k%n;int[] arr = new int[n-k];for(int i = 0;i<n-k;i++){arr[i] = nums[i];}for(int i = n-k;i<n;i++){nums[(i+k)%n] = nums[i];}int count = 0;for(int i = k;i<n;i++){nums[i] = arr[count++];}}
}

2.除自身以外数组的乘积

题目链接:238. 除自身以外数组的乘积 - 力扣(LeetCode)

题面:

代码:

java">class Solution {public int[] productExceptSelf(int[] nums) {int sum = 1;int n = nums.length;int flag = 0;for(int i = 0;i<n;i++){if(nums[i]==0){flag++;continue;}sum*=nums[i];}for(int i = 0;i<n;i++){if(flag>=2)nums[i] = 0;else if(flag==1&&nums[i]!=0)nums[i] = 0;else if(nums[i]!=0)nums[i] = sum/nums[i];else nums[i] = sum;}return nums;}
}

3.缺失的第一个正数

题目链接:41. 缺失的第一个正数 - 力扣(LeetCode)

题面:

代码:

java">class Solution {public int firstMissingPositive(int[] nums) {Map<Integer,Integer> map = new HashMap<>();int n = nums.length;for(int i = 0;i<n;i++){map.put(nums[i],1);}for(int i = 1;i<=100006;i++){if(map.getOrDefault(i,0)==0)return i;}return 0;}
}

后言

上面是力扣Hot100的数组专题,下一篇是其他专题的习题,希望有所帮助,一同进步,共勉!


http://www.ppmy.cn/ops/135300.html

相关文章

深入解析TK技术下视频音频不同步的成因与解决方案

随着互联网和数字视频技术的飞速发展&#xff0c;音视频同步问题逐渐成为网络视频播放、直播、编辑等过程中不可忽视的技术难题。尤其是在采用TK&#xff08;Transmission Keying&#xff09;技术进行视频传输时&#xff0c;由于其特殊的时序同步要求&#xff0c;音视频不同步现…

Windows系统使用全功能的跨平台开源音乐服务器Navidrome搭建在线音乐库

文章目录 前言1. 安装Docker2. Docker镜像源添加方法3. 创建并启动Navidrome容器4. 公网远程访问本地Navidrome4.1 内网穿透工具安装4.2 创建远程连接公网地址4.3 使用固定公网地址远程访问 前言 在数字时代&#xff0c;拥有一个个性化、便捷的音乐库成为了许多人的需求。本文…

STM32G4的数模转换器(DAC)的应用

目录 概述 1 DAC模块介绍 2 STM32Cube配置参数 2.1 参数配置 2.2 项目架构 3 代码实现 3.1 接口函数 3.2 功能函数 3.3 波形源代码 4 DAC功能测试 4.1 测试方法介绍 4.2 波形测试 概述 本文主要介绍如何使用STM32G4的DAC模块功能&#xff0c;笔者使用STM32Cube工具…

数据爬取技术进阶:从表单提交到页面点击的实现

引言 随着互联网的迅速发展&#xff0c;数据需求日益多样化。简单的静态页面爬取已难以满足现代应用场景的需求&#xff0c;特别是在涉及到登录、表单提交、页面点击等交互操作的情况下&#xff0c;数据的获取变得更加复杂。为了解决这些难题&#xff0c;使用代理 IP 是必不可…

c++设计模式之适配器模式

适配器模式&#xff08;Adapter Pattern&#xff09; 定义 适配器模式的目的是让不兼容的接口能够协同工作。通过定义一个适配器类&#xff0c;将原本接口不兼容的两种类的接口转化为一致的接口&#xff0c;使得原本无法交互的类可以互操作。 应用场景 当你希望将一些已经存在…

vscode 关闭绑定元素 隐式具有“any”类型这类错误

在vue的项目里面&#xff0c;经常看到any类型的报错&#xff0c;真的很烦的 在tsconfig.json中配置以下参数 “noImplicitAny”: false 就可以了 出现类型“never”上不存在属性“userName”。ts-plugin(2339) 配置该参数 modeuleResolution : node "compilerOptions&qu…

【Qt 蓝牙服务器实现】

在 Qt 中实现一个蓝牙服务器可以使用 Qt Bluetooth 模块。下面是一个基本的蓝牙服务器示例,它能够接受来自客户端的连接。 首先,请确保你已经安装了 Qt Bluetooth 模块并在项目文件中包含了相关库。 1. 项目文件 (.pro) 配置 在项目文件中添加以下行,以确保包含 Qt Bluet…

IO流(九):打印流-字节打印流PrintStream、字符打印流PrintWriter

目录 1、什么是打印流&#xff1f; 2、字节打印流-PrintStream 2.1 代码演示以及注释 2.2 演示几种字节打印流常用的创建方式 3、字符打印流-PrintWriter 3.1 代码演示以及注释 3.2 演示几种字符打印流常用的创建方式 4、案例-System.out.println();输出内容重定向到指…