DAY10-力扣刷题

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

58. 最后一个单词的长度 - 力扣(LeetCode)

给你一个字符串 s,由若干单词组成,单词前后用一些空格字符隔开。返回字符串中 最后一个 单词的长度。

单词 是指仅由字母组成、不包含任何空格字符的最大子字符串

子字符串

子字符串 是字符串中连续的 非空 字符序列。

class Solution {public int lengthOfLastWord(String s) {int n=s.length()-1;//先要把最后部分的空格整完while(s.charAt(n)==' '){n--;}int count=0;while(n>=0&&s.charAt(n)!=' '){count++;n--;}return count;}
}

 2.螺旋矩阵2

59. 螺旋矩阵 II - 力扣(LeetCode)

给你一个正整数 n ,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix 。

方法一:模拟

public int[][] generateMatrix(int n) {int l=0,r=n-1,t=0,b=n-1;//左右上下分别对应的int[][] matrix=new int[n][n];int num=1,target=n*n;while(num<=target){for(int i=l;i<=r;i++){matrix[t][i]=num++;}t++;//模拟从左到右for(int i=t;i<=b;i++){matrix[i][r]=num++;}r--;//模拟从右到左for(int i=r;i>=l;i--){matrix[b][i]=num++;}b--;//模拟从下到上for(int i=b;i>=t;i--){matrix[i][l]=num++;}l++;}return matrix;}

 3.旋转链表

61. 旋转链表 - 力扣(LeetCode)

方法一:闭合为环

思路及算法

/*** Definition for singly-linked list.* public class ListNode {*     int val;*     ListNode next;*     ListNode() {}*     ListNode(int val) { this.val = val; }*     ListNode(int val, ListNode next) { this.val = val; this.next = next; }* }*/
class Solution {public ListNode rotateRight(ListNode head, int k) {if(k==0||head==null||head.next==null){return head;}int n=1;ListNode iter=head;//找到iter//看一共有几个节点while(iter.next!=null){iter=iter.next;n++;}int add=n-k%n;if(add==n){return head;}//化成环iter.next=head;while(add-->0){iter=iter.next;}ListNode ret=iter.next;//头节点iter.next=null;return ret;}
}

 4.不同路径

62. 不同路径 - 力扣(LeetCode)

方法一:动态规划

class Solution {public int uniquePaths(int m, int n) {int[][] f = new int[m][n];for (int i = 0; i < m; ++i) {f[i][0] = 1;}for (int j = 0; j < n; ++j) {f[0][j] = 1;}for (int i = 1; i < m; ++i) {for (int j = 1; j < n; ++j) {f[i][j] = f[i - 1][j] + f[i][j - 1];}}return f[m - 1][n - 1];}
}

5.不同路径2

63. 不同路径 II - 力扣(LeetCode)

方法一:动态规划

class Solution {public int uniquePathsWithObstacles(int[][] obstacleGrid) {int n = obstacleGrid.length, m = obstacleGrid[0].length;int[] f = new int[m];f[0] = obstacleGrid[0][0] == 0 ? 1 : 0;for (int i = 0; i < n; ++i) {for (int j = 0; j < m; ++j) {if (obstacleGrid[i][j] == 1) {f[j] = 0;continue;}if (j - 1 >= 0 && obstacleGrid[i][j - 1] == 0) {f[j] += f[j - 1];}}}return f[m - 1];}
}

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

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

相关文章

【顺序表】05 删除有序顺序表中值在s与t之间的数

&#x1f57a;作者&#xff1a; 主页 我的专栏C语言从0到1探秘C数据结构从0到1探秘Linux算法题上机准备 &#x1f618;欢迎 ❤️关注 &#x1f44d;点赞 &#x1f64c;收藏 ✍️留言 题目 从有序顺序表中删除其值在给定值s与t之间(要求s<t)的所有元素&#xff0c;若s或t不合…

deepspeed win11 安装

目录 git地址: aio报错: 编译 报错 ops已存在: 修改拷贝代码: git地址: Bug Report: Issues Building DeepSpeed on Windows Issue #5679 microsoft/DeepSpeed GitHub aio报错: setup.py 配置变量 os.environ[DISTUTILS_USE_SDK]=1 os.environ[DS_BUILD_AIO]=…

Unity3d自定义TCP消息替代UNet实现网络连接

以前使用UNet实现网络连接,Unity2018以后被弃用了。要将以前的老程序升到高版本,最开始打算使用Mirro,结果发现并不好用。那就只能自己写连接了。 1.TCP消息结构 (1). TCP消息是按流传输的,会发生粘包。那么在发射和接收消息时就需要对消息进行打包和解包。如果接收的消息…

日期工具类:获取 当前周 | 上一周 | 下一周 的第一天(周一)和最后一天(周天)

问题背景 获取 当前周 | 上一周 | 下一周 的第一天&#xff08;周一&#xff09;和最后一天&#xff08;周天&#xff09;。 例如&#xff1a; 输入&#xff1a;2024-6-21, current 输出&#xff1a;{"firstDay": "2024-6-17","lastDay": &qu…

springboot代理配置,本地访问测试环境数据库、测试环境elasticsearch

springboot代理配置&#xff0c;本地访问测试环境数据库、测试环境elasticsearch 背景 本地项目启动需要直接连接测试环境的数据库、ES以及其他资源 配置 ES和其他一些资源的访问通过springboot配置走代理访问。比如我这里 EnableAsync EnableScheduling SpringBootApplic…

Nutch爬虫在大数据采集中的应用案例

引言 在当今信息爆炸的时代&#xff0c;大数据的价值日益凸显。网络作为信息的海洋&#xff0c;蕴藏着丰富的数据资源。Nutch&#xff0c;作为一个开源的Java编写的网络爬虫框架&#xff0c;以其高效的数据采集能力和良好的可扩展性&#xff0c;成为大数据采集的重要工具。本文…

Mac安装多个jdk环境(jdk8+jdk17)保姆级

Mac安装多个jdk环境&#xff08;jdk8jdk17&#xff09;保姆级 背景&#xff1a;新机安装开发环境发现需要找很多文章&#xff0c;&#xff0c;&#xff0c;&#xff0c;这里一篇文章安装所有环境 文章目录 Mac安装多个jdk环境&#xff08;jdk8jdk17&#xff09;保姆级&#x1f…

Lambda 表达式是为了解决啥问题,语法,使用规则,c++中的常用用法示例

2024/6/21 11:20:09 Lambda 表达式的主要目的是为了简化函数对象&#xff08;或称为函数符&#xff09;的创建和使用。传统的函数对象需要定义一个具名的类或者使用函数指针&#xff0c;而Lambda 表达式可以在需要时直接定义一个匿名函数&#xff0c;从而减少代码量和提高代码…

C语言入门系列:指针入门(超详细)

文章目录 一&#xff0c;什么是指针1&#xff0c;内存2&#xff0c;指针是什么&#xff1f; 二&#xff0c;指针的声明1&#xff0c;声明指针类型变量2&#xff0c;二级指针 三&#xff0c;指针的计算1&#xff0c;两个指针运算符1.1 *运算符1.2 & 运算符1.3 &运算符与…

树莓派3b+结合 tb6600用pi4j2程序库,用java编写控制软pmw的方式控制步进电机的转速,详细解析

结论:速度控制参数,主要的不是占空比,而是pmw针脚的输出主频参数:frequency。占空比对速度的影响也有,但比较小。 在进行速度详细控制之前,我们先读取电机和电机驱动器的几个参数。 电机:步进角 =1.8度 电流:1.7A 扭矩:0.55N.M 驱动器TB6600:查看面板的数值,并设置…

【Arthas案例】应用包含两个相同全限定类名StaticLoggerBinder,引起log4j.Level类找不到异常

3分钟内解决问题 两个不同的GAV依赖冲突&#xff0c;包含相同全限定类名&#xff0c;引起ClassNotFoundException Maven依赖的三坐标体系GAV(G-groupId&#xff0c;A-artifactId&#xff0c;V-version) 【案例1】某应用依赖两个GAV不同的jar&#xff0c;但包含两个相同全限定类…

OpenCv形态学(一)

目录 形态学转换 结构元素 腐蚀 膨胀 开运算 闭运算 形态学梯度 顶帽 黑帽 图像轮廓 查找轮廓 绘制轮廓 形态学转换 形态变换是一些基于图像形状的简单操作。通常在二值图像上执行。它需要两个输入&#xff0c;一个是我们的原始图像&#xff0c;第二个是决定操作性…

6月21日(周五)AH股总结:沪指失守3000点,恒生科技指数跌近2%,多只沪深300ETF午后量能显著放大

内容提要 沪指全天围绕3000点关口来回拉锯&#xff0c;收盘跌破3000点。白酒及光刻机概念集体走低&#xff0c;中芯国际港股跌超2%。CRO医药概念及水利股逆势走强。 A股低开低走 沪指全天围绕3000点关口来回拉锯&#xff0c;收盘跌破3000点&#xff0c;跌0.24%。深成指跌0.04…

如何在 macOS 上安装 Docker Desktop

如何在 macOS 上安装 Docker Desktop Docker 是一个用于开发、部署和运行应用程序的开放平台。Docker Desktop 是 Docker 在 macOS 和 Windows 上的官方客户端&#xff0c;它使开发者能够轻松地在本地环境中构建、运行和共享容器化应用程序。本文将详细介绍如何在 macOS 上安装…

写一个chrome插件

创建一个 Chrome 插件&#xff08;也叫扩展&#xff09;涉及以下几个基本步骤&#xff1a; 创建目录结构编写 manifest.json 文件添加功能代码&#xff08;HTML, CSS, JavaScript&#xff09;加载和测试扩展 下面是一个简单的 Chrome 插件的示例。这个插件会在浏览器的工具栏…

从零到一学FFmpeg:avformat_alloc_output_context2 函数详析与实战

文章目录 前言一、函数原型二、功能描述三、使用场景四、AVFormatContext 结构体五、代码实例 前言 avformat_alloc_output_context2 是FFmpeg库中的一个函数&#xff0c;用于为输出多媒体文件初始化一个AVFormatContext结构体。这个函数在开始输出音频、视频数据到文件之前被…

ubuntu 20.04 访问csdn报错 Secure connection failed 解决

问题原因&#xff1a; 我一边更新源 sudo apt update & apt upgrade一边在看csdn&#xff0c;估计是这个导致的. 所以我直接把华为源换成了阿里源。 sudo apt update & apt upgrade再更新一次&#xff0c;解决。

探索语言模型的智能飞跃:预训练损失与突现能力的新视角

在人工智能的辉煌编年史中&#xff0c;语言模型&#xff08;LMs&#xff09;的崛起标志着自然语言处理领域的一个巨大飞跃。随着技术的进步&#xff0c;这些模型不仅在规模上日益庞大&#xff0c;更在性能上不断刷新着人们的认知边界。它们在问答、翻译、文本摘要等任务上展现出…

SQlyog连接到主机时报错:错误号码2058Plugin sha256 password could not be loaded

1.问题重述 MySQL版本&#xff1a;8.4.0 SQlyog连接到主机时报错&#xff1a;错误号码2058Plugin sha256 password could not be loaded&#xff0c;如下图 经过查阅资料得知出现这个问题是因为 mysl8之前的加密规则是 mysql_native_password &#xff0c;而在mysql8之后&…

Vue DevTools

介绍 什么是 Vue DevTools&#xff1f; Vue DevTools 是一款旨在增强 Vue 开发者体验的工具&#xff0c;它是一款功能强大且用途广泛的工具&#xff0c;可以在使用 Vue 应用程序时显着提高您的生产力和调试能力。它的实时编辑、时间旅行调试和全面检查功能使其成为任何Vue.js开…