1.合并两个有序数组(简单)

要求直接在num1上操作,已经预留了空间,所以直接倒着从大到小插入。当其中一个数组遍历完,就把另一个数组剩余的部分插入。

2.移除元素(简单)

要求原地移除数组中所有val元素,使用双指针,一个指针p1为已经确定的元素,另一个指针p2判断是否为val,不是则将当前值赋值给p1,依次进行。

3.删除有序数组的重复项(简单)

原地删除数组中重复元素,数组为非严格递增排列,跟上一题相似,所以双指针遍历数组。right指针移动到当前元素最后一个重复的元素,left指针为确定元素的范围。

4.删除有序数组的重复项2(中等)

更改了上题的条件为相同元素只出现两次,双指针。也是找到最后一个相似的,然后计算相似的个数,>=2个就留两个,否则留1个。

5.多数元素(简单)

返回数量大于n/2的元素。用map记录,key为元素,value为个数,计数过程记录最大的value的key,最后返回。

6.轮转数组(中等)

将数组轮转k个位置。数学算法。先将数组反转,然后再反转k~n-1和0到k-1就能得到轮转后的数组。

7.买卖股票的最佳时机(简单)

只能买卖一次,贪心。边遍历边记录股票最便宜的价格,如果当前值比最小值大,计算当前值-最小值后,是否比最大盈利大。

8.买卖股票的最佳时机2(中等)

每天都可以买卖,贪心。遍历一遍,(prices[i]-prices[i-1]>0)盈利的就可以直接加进去。

9.跳跃游戏(中等)

找跳跃最大长度,贪心。遍历时维护一个可以跳跃的最远距离,如果距离大于n-1就能跳到终点,到达不了i则直接跳出循环返回false。

10.跳跃游戏2(中等)

要最小跳跃数,贪心。用一个end表示每次能最远跳到的位置,i遍历到end的过程中记录新的最远能到达的长度,到达end则jump+1,end更新为新的最远长度。

11.H指数(中等)

题意难懂,其实是找最大的“n篇论文被引用>=n次”,贪心。创建一个数组记录被引用超过n次论文的个数,n最多不超过论文总数,所以从数组长度就为n+1(因为题目要求下标从1开始)。然后倒序累加,当sum值>=i则说明符合条件了,可以返回。

12.O(1)时间插入、删除和获取随机元素(中等)

变长数组+哈希表。

插入:直接插入到list的最后,用map记录,key为值、value为位置。

移除:把最后的值和要删除的值交换,然后删除最后的值。

随机:random.nextInt(list.size())

13.除自身以外数组的乘积(中等)

技巧。遍历两轮,一轮装从左到右累乘的结果,另一轮从右到左,用两个数组装结果。最后再用一个数组装最后结过,用元素左侧元素的累乘*元素右侧元素的累乘。

14.加油站(中等)

贪心+遍历。当从i出发,到达k位置没法再继续,则说明在有油的情况下从k点出发依旧无法继续,则直接从k+1的位置继续遍历。

15.最后一个单词的长度(简单)

字符串操作,用split("\\s+")移除所有空格并分割成字符串数组,然后取最后一个元素.length()就可以了。

16.最长公共前缀(简单)

字符串操作。toCharArray转为字符数组,遍历并判断前缀是否相同,每次遍历更新前缀的最短相同长度并在条件进行判断,提升性能。

17.反转字符串中的单词(中等)

字符串操作。先用.trim()去掉开头和末尾的空白字符,然后用split("\\s+")分割字符串数组装进List中,用Collections.reverse翻转,最后用String.join(" ", wordList);来转成字符串并返回。

18.Z字形变换(中等)

技巧。创建一个长度为n的ArrayList<StringBuilder>数组list,遍历字符串,从0~n-1来回添加到list中,最后再进行拼接就行了。

19.找出字符串中第一个匹配项的下标(简单)

KMP算法。先计算匹配串的next数组,然后再进行匹配。

next数组计算方法:i = 2, j = 0每次判断short[i]和short[j-1]的元素是否相等,相等则next[i] = j,不相等则j=next[j]

匹配:i = 1, j = 0,每次判断short[j+1]和long[i]是否相等,相等则j++,否则j = next[j]。当j == m(子串长度)说明匹配成了,返回结果。

 

 

 

 

 

 

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

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

相关文章

基于 Hadoop 生态圈的数据仓库实践 —— OLAP 与数据可视化(一)

目录 一、OLAP 与 Impala 简介 1. OLAP 简介 2. Impala 简介 &#xff08;1&#xff09;Impala 是什么 &#xff08;2&#xff09;为什么要使用 Impala &#xff08;3&#xff09;适合 Impala 的使用场景 &#xff08;4&#xff09;Impala 架构 &#xff08;5&#xff…

PyTorch L2范数详解与应用

torch.norm 是什么 torch.norm(dot_product, p=2, dim=-1) 是 PyTorch 中用于计算张量 L2 范数的函数, 1. 各参数解析 dot_product:输入张量,在代码中形状为 [batch_size, seq_len](每个元素是 token 隐藏状态与关注向量的点积)。 p=2:指定计算L2 范数(欧几里得范数)…

循环神经网络RNN原理精讲,详细举例!

第一部分&#xff1a;为什么需要RNN&#xff1f;在了解RNN是什么之前&#xff0c;我们先要明白它解决了什么问题。传统的神经网络&#xff0c;比如我们常见的前馈神经网络&#xff08;Feedforward Neural Network&#xff09;或者卷积神经网络&#xff08;CNN&#xff09;&…

如何用USRP捕获手机信号波形(中)手机/基站通信

目录&#xff1a; 如何用USRP捕获手机信号波形&#xff08;上&#xff09;系统及知识准备 如何用USRP捕获手机信号波形&#xff08;中&#xff09;手机/基站通信 如何用USRP捕获手机信号波形&#xff08;下&#xff09;协议分析 四、信号捕获结果 4.1 时域波形 我怀疑下面…

(LeetCode 面试经典 150 题 ) 155. 最小栈 (栈)

题目&#xff1a;155. 最小栈 思路&#xff1a;栈&#xff0c;时间复杂度0(n)。 在插入栈元素val时&#xff0c;同时加入一个字段&#xff0c;维护插入当前元素val时的最小值即可。 C版本&#xff1a; class MinStack { public:stack<pair<int,int>> st;MinStac…

算法:动态规划 洛谷 线性状态动态规划 P1439【模板】最长公共子序列

思路&#xff1a;因为n<1e5,所以不能O&#xff08;n方&#xff09;的复杂度&#xff0c;所以常规的计算最长公共子序列的方法就不行&#xff0c;不过这题有个特点&#xff0c;就是a&#xff0c;b都是排列&#xff0c;那么a有的数b也有&#xff0c;并且数量还一样&#xff0c…

Linux跑后台服务

vi /usr/lib/systemd/system/my_service.service文件配置内容&#xff1a;[Unit] Descriptionmyprogram Afternetwork.target[Service] Userroot Typesimple ExecStart/home/userabc/programs/myprogram/myprogram.out Restarton-failure WorkingDirectory/home/userabc/progra…

Linux基础练习题1

1、配置网络地址 请为此虚拟机配置以下网络参数&#xff1a; 1&#xff09;主机名&#xff1a;chenyu.example.com &#xff08;将chenyu改成自己名字的全拼&#xff09; 2&#xff09;IP 地址&#xff1a;192.168.100.100/24 3&#xff09;默认网关&#xff1a;192.168.100.25…

# 前端开发规范基础汇总

前端开发规范基础汇总 命名规范 常用的命名规范 camelCase&#xff08;小驼峰式命名法 —— 首字小写&#xff09;PascalCase&#xff08;大驼峰式命名法 —— 首字大写&#xff09;snake_case&#xff08;下划线命名法&#xff09;kebab-case&#xff08;短横线命名法&…

jQuery UI Tabs切换功能实例

jQuery UI Tabs切换功能使用jQuery UI实现Tabs切换功能的方法。代码示例创建了一个包含四个标签页&#xff08;按钮A-D&#xff09;的界面&#xff0c;每个标签对应不同的内容区域。通过引入jQuery UI库并调用tabs()方法实现基本切换功能。文章还提到可以通过配置选项修改默认行…

关于为什么stm32的开漏输出可以读取引脚的数值

在使用软件模拟iic通信时&#xff0c;要将SDA线配置为开漏输出&#xff0c;既然配置为开漏输出&#xff0c;为什么程序还可以通过SDA线读取数据&#xff1f;查阅手册&#xff1a;只说了结论&#xff1a;在开楼模式下&#xff0c;对输入数据寄存器的读访问可以得到IO状态来看输出…

墨者:SQL手工注入漏洞测试(SQLite数据库)

1. 墨者学院&#xff1a;SQL手工注入漏洞测试(SQLite数据库)&#x1f680; 2. SQLite数据库注入特点&#x1f50d; SQLite数据库和MySQL数据库语法不同&#xff0c;不能直接套用MySQL的注入方式。但SQLite有个特殊的数据库sqlite_master&#xff0c;它存储了所有表结构信息&…

【Apache Tomcat】

目录Tomcat 基本简介Tomcat 架构组成Tomcat 的目录结构Tomcat 的工作原理Tomcat 的配置文件Tomcat 与其他服务器对比Tomcat 使用场景Tomcat 与 Spring Boot常见问题与优化Tomcat&#xff08;全称 Apache Tomcat&#xff09;是由 Apache 软件基金会开发和维护的一款 开源的 Web …

Nginx参数proxy_set_header 与 add_header 核心区别

proxy_set_header 与 add_header 是 Nginx 中两个用于操作 HTTP 头部信息的指令&#xff0c;但作用方向和使用场景完全不同。以下是两者的核心区别&#xff1a;核心区别概述特性proxy_set_headeradd_header作用方向✅ 请求头&#xff08;Request Headers&#xff09; → 后端服…

若依框架-前端二次开发快速入门简述

1.目录如左图所示&#xff0c;主要分为bin,build,node_modules,public,src几个部分&#xff0c;我们从gitee上使用bash将项目克隆到本地后&#xff0c;进入项目目录&#xff0c;并安装好依赖后可以直接使用命令启动服务&#xff0c;具体命令见README.md&#xff0c;安装好依赖后…

day 41 类和方法

day 28 类是对属性和方法的封装&#xff0c;可以理解为模版&#xff0c;通过对模型实例化可以实现调用这个类的属性和方法。比如创建一个随机森林类&#xff0c;然后就可以调用它的训练和预测方法。 一个常见的类的定义包括了&#xff1a; 1、关键字class 2、类名 3、语法固定…

Docker学习日志-Docker容器配置、Nginx 配置与文件映射

Docker学习日志-Docker容器配置、Nginx 配置与文件映射 docker run 之后能否再次修改卷映射或端口映射&#xff1f; 不能直接修改已创建容器的卷映射或端口映射。 Docker 的设计原则是 **容器是不可变的 **&#xff0c;也就是说&#xff1a; 一旦容器通过 docker run 创建完成&…

cpp实现音频重采样8k->16k及16k->8k

static int convert_8khz_to_16khz(void* dst_buf, void* src_buf, int src_size) {short* in static_cast<short*>(src_buf);short* out static_cast<short*>(dst_buf);int in_samples src_size / sizeof(short);// 边界处理&#xff1a;前两个样本out[0] in[…

【机器学习】机器学习新手入门概述

目录 一、机器学习概念 1.1基本概念 1.2 主要类型 1.2.1 监督学习&#xff08;Supervised Learning&#xff09; &#xff08;1&#xff09;基本介绍 &#xff08;2&#xff09;任务目标 &#xff08;3&#xff09;常见算法 &#xff08;4&#xff09;应用场景 1.2.2 无…

嵌入式硬件篇---ESP32稳压板

制作 ESP32 稳压板的核心目标是&#xff1a;给 ESP32 提供稳定的 3.3V 电源&#xff08;ESP32 的工作电压必须是 3.3V&#xff09;&#xff0c;同时支持多种供电方式&#xff08;比如锂电池、USB、外接电源&#xff09;&#xff0c;并具备保护功能&#xff08;防止过流、接反电…