每日5题Day15 - LeetCode 71 - 75

每一步向前都是向自己的梦想更近一步,坚持不懈,勇往直前!

第一题:71. 简化路径 - 力扣(LeetCode)

class Solution {public String simplifyPath(String path) {Deque<String> stack = new LinkedList<>();for (String item : path.split("/")) {//如果是俩点,上一级不为空,则出栈(返回上一级)if (item.equals("..")) {if (!stack.isEmpty()) stack.pop();} else if (!item.isEmpty() && !item.equals(".")) stack.push(item);//否则,如果是正常的一个点. 代表进入下一级}String res = "";for (String d : stack) res = "/" + d + res;return res.isEmpty() ? "/" : res;  }
}

第二题:72. 编辑距离 - 力扣(LeetCode)

class Solution {public int minDistance(String word1, String word2) {//经典dp题,题目要求最小操作数int m = word1.length(), n = word2.length();int[][] dp = new int[m + 1][n + 1];//初始化一下特殊情况dp[0][0] = 0;for(int i = 1; i <= m; i++){dp[i][0] = i;}for(int j = 1; j <= n; j++){dp[0][j] = j;}//给出递推公式for(int i = 1; i <= m; i++){for(int j = 1; j <= n; j++){if(word1.charAt(i - 1) == word2.charAt(j - 1)){//注意所设dp范围,所以相等的时候是word1.charAt(i - 1) == word2.charAt(j - 1)dp[i][j] = dp[i - 1][j - 1];}else{//三种情况,从第一个字符串的角度来说是增加:dp[i - 1][j]//修改:dp[i - 1][j - 1]  删除:dp[i][j - 1])//在这三者中取到最小的一种,增加1dp[i][j] = Math.min(dp[i - 1][j], Math.min(dp[i - 1][j - 1], dp[i][j - 1])) + 1;}}}return dp[m][n];}
}

第三题:73. 矩阵置零 - 力扣(LeetCode)

class Solution {public void setZeroes(int[][] matrix) {int m = matrix.length;int n = matrix[0].length;// 定义两个数组来跟踪需要置零的行和列boolean[] zeroRows = new boolean[m];boolean[] zeroCols = new boolean[n];// 遍历矩阵以标记包含零的行和列for (int i = 0; i < m; i++) {for (int j = 0; j < n; j++) {if (matrix[i][j] == 0) {zeroRows[i] = true;zeroCols[j] = true;}}}// 将零置于行for (int i = 0; i < m; i++) {if (zeroRows[i]) {for (int j = 0; j < n; j++) {matrix[i][j] = 0;}}}// 将零置于列for (int j = 0; j < n; j++) {if (zeroCols[j]) {for (int i = 0; i < m; i++) {matrix[i][j] = 0;}}}}
}

第四题:74. 搜索二维矩阵 - 力扣(LeetCode)

public class Solution {public boolean searchMatrix(int[][] matrix, int target) {//由于题目提到了每一行第一个数>上一行最后一个数//明显提示了使用二分查找int m = matrix.length;int n = matrix[0].length;int left = -1;int right = m * n;while (left + 1 < right) {int mid = (left + right) >>> 1;int x = matrix[mid / n][mid % n];if (x == target) {return true;}if (x < target) {left = mid;} else {right = mid;}}return false;}
}

 第五题:75. 颜色分类 - 力扣(LeetCode)

class Solution {public void sortColors(int[] nums) {//直接快排quicksort(nums, 0, nums.length - 1);return;}private static void quicksort(int[] nums, int low, int high){if(low < high){int partindex = partition(nums, low, high);quicksort(nums, low, partindex - 1);quicksort(nums, partindex + 1, high);return;}}private static int partition(int[] nums, int low, int high){int pivot = nums[high];int i = low - 1;for(int j = low; j < high; j++){if(nums[j] < pivot){i++;int tmp = nums[i];nums[i] = nums[j];nums[j] = tmp;}}int tmp = nums[high];nums[high] = nums[i + 1];nums[i + 1] = tmp;return i + 1;}
}
class Solution {public void sortColors(int[] nums) {//刷油漆法,这个思路是真强啊int n0 = 0, n1 = 0;for (int i = 0; i < nums.length; i++) {int num = nums[i];//刷油漆法,先全部刷为2nums[i] = 2;//如果该值为1或0 那么我们往后刷一个1出来if (num < 2) {nums[n1++] = 1;}//和上面做法一样,我们直接刷为0if (num < 1) {nums[n0++] = 0;}}}
}

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

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

相关文章

mysql的增删查改(进阶)

目录 一. 更复杂的新增 二. 查询 2.1 聚合查询 COUNT SUM AVG MAX MIN 2.1.2 分组查询 group by 子句 2.1.3 HAVING 2.2 联合查询/多表查询 2.2.1 内连接 2.2.2 外连接 2.2.3 全外连接 2.2.4 自连接 2.2.5 子查询 2.2.6 合并查询 一. 更复杂的新增 将从表名查询到…

自动化办公01 smtplib 邮件⾃动发送

目录 一、准备需要发送邮件的邮箱账号 二、发送邮箱的基本步骤 1. 登录邮箱 2. 准备数据 3. 发送邮件 三、特殊内容的发送 1. 发送附件 2. 发送图片 3. 发送超文本内容 4.邮件模板内容 SMTP&#xff08;Simple Mail Transfer Protocol&#xff09;即简单邮件传输协议…

【Qt秘籍】[009]-自定义槽函数/信号

自定义槽函数 在Qt中自定义槽函数是一个直接的过程&#xff0c;槽函数本质上是类的一个成员函数&#xff0c;它可以响应信号。所谓的自定义槽函数&#xff0c;实际上操作过程和定义普通的成员函数相似。以下是如何在Qt中定义一个自定义槽函数的步骤&#xff1a; 步骤 1: 定义槽…

三种字符串的管理方式

NSString的三种实现方式 OC这个语言在不停的升级自己的内存管理&#xff0c;尽量的让自己的 OC的字符串 问题引入 在学习字符串的过程中间会遇到一个因为OC语言更新造成的问题 例如&#xff1a; int main(int argc, const char * argv[]) {autoreleasepool {NSString* str1 …

网络原理——http/https ---http(1)

T04BF &#x1f44b;专栏: 算法|JAVA|MySQL|C语言 &#x1faf5; 今天你敲代码了吗 网络原理 HTTP/HTTPS HTTP,全称为"超文本传输协议" HTTP 诞⽣与1991年. ⽬前已经发展为最主流使⽤的⼀种应⽤层协议. 实际上,HTTP最新已经发展到 3.0 但是当前行业中主要使用的HT…

明日周刊-第12期

以前小时候最期待六一儿童节了&#xff0c;父母总会给你满足一个愿望&#xff0c;也许是一件礼物也许是一次陪伴。然而这个世界上其实还有很多儿童过不上儿童节&#xff0c;比如某些地区的小孩子&#xff0c;他们更担心的是能不能见到明天的太阳。 文章目录 一周热点航天探索火…

LeetCode-77. 组合【回溯】

LeetCode-77. 组合【回溯】 题目描述&#xff1a;解题思路一&#xff1a;回溯背诵版解题思路三&#xff1a;0 题目描述&#xff1a; 给定两个整数 n 和 k&#xff0c;返回范围 [1, n] 中所有可能的 k 个数的组合。 你可以按 任何顺序 返回答案。 示例 1&#xff1a; 输入&a…

算法-对列表元素划分成两个和值最大且相等的子列表

现有私募基金发行一支特殊基金产品&#xff0c;该基金认购人数上限不超过 30 人&#xff0c; 募集总金额不超过 3000W&#xff0c;每个投资人认购金额不定。该基金只能将募集到的钱用于投资两支股票&#xff0c;且要求两支股票投资金额必须相同&#xff0c;且每位投资人的钱只能…

springboot报错:Failed to start bean ‘documentationPluginsBootstrapper‘

项目场景&#xff1a; springboot项目启动时报错 问题描述 具体报错信息&#xff1a; 可能原因分析&#xff1a; 1、SpringFox的版本与Spring Boot的版本不兼容。解决这个问题&#xff0c;你可能需要检查你正在使用的SpringFox和Spring Boot的版本&#xff0c;确保它们是兼容…

【Intro】Heterogeneous Graph Attention Network(HAN)

论文链接&#xff1a;https://arxiv.org/pdf/1903.07293 Abstract 异构性和丰富的语义信息给面向异构图的图形神经网络设计带来了巨大的挑战。 -> 一种基于分层注意的异构图神经网络&#xff0c;包括节点级注意和语义级注意。具体来说&#xff0c;节点级关注旨在学习节点…

GPT4o还没用上?落后一个月!

文章目录 一.Share官方网站&#xff1a;以一半的价格享受官网服务1.1 网址1.2 一些介绍和教学实战&#xff1a;1.3 主界面&#xff08;支持4o)&#xff1a;1.4 GPTS&#xff08;上千个工具箱任你选择&#xff09;&#xff1a;1.5 快速的文件数据分析&#xff08;以数学建模为例…

web前端三大主流框架指的是什么

web前端三大主流框架是什么&#xff1f;前端开发师的岗位职责有哪些&#xff1f;这边整理了相关内容供大家参考了解&#xff0c;请各位小伙伴随小编一起查阅下面的内容。 web前端三大主流框架 web前端三大主流框架是Angular、React、Vue。 1.Angular Angular原名angularJS诞生…

UnityAPI学习之Transform组件基本使用

目录 Transform组件 访问与获取 Transform的位置和旋转信息 Transform局部坐标和旋转信息的获取 Transform的缩放与正方向 缩放&#xff08;Scale&#xff09; 正方向 Transform相关的查找方法 销毁游戏物体 Transform组件 访问与获取 现在创建一个容器放置GrisGO物…

API接口通道如何设置?

API接口通道如何设置&#xff1f; 如果分站点的AI接口使用openai&#xff08;站点后台->系统配置->AI参数配置->AI接口&#xff09;&#xff0c;则需要在超管后台配置接口通道&#xff0c;其他方式则无需在超管后台配置接口通道 1、进入超管后台选择接口通道&#x…

一键批量转换,高效轻松管理:解锁不同格式图片统一处理新体验,让图片管理更高效

在信息爆炸的时代&#xff0c;图片管理成为了一个不容忽视的问题。我们时常面临各种格式的图片文件&#xff0c;不同的格式不仅增加了管理的难度&#xff0c;还可能导致兼容性问题。如何快速高效地管理不同格式的图片&#xff0c;成为了现代人面临的一大挑战。现在&#xff0c;…

网上帮别人开网店卖货的骗局!

小红书帮别人开店卖货的骗局主要涉及到一些不法分子利用小红书平台的流量和用户信任度&#xff0c;通过虚假宣传、承诺高额利润等手段&#xff0c;诱骗用户开店并**所谓的“赚钱机会”。 这些骗局往往以“轻松创业、快速致富”为诱饵&#xff0c;吸引那些对创业充满热情但缺乏经…

Redis常用命令——List篇

提到List&#xff0c;我们第一时间想到的就是链表。但是在Redis中&#xff0c;List更像是一种双端队列&#xff0c;例如C中的deque。它可以快速高效的对头部和尾部进行插入和删除操作。本片文章主要对List列表的相关命令进行详解&#xff0c;希望本篇文章会对你有所帮助。 文章…

MedSegDiff-V2: Diffusion-Based Medical Image Segmentation with Transformer 论文总结

标题&#xff1a;MedSegDiff-V2: Diffusion-Based&#xff08;基于扩散模型&#xff09;Medical Image Segmentation&#xff08;医学图像分割&#xff09;with Transformer 论文&#xff08;AAAI&#xff09;&#xff1a;https://ojs.aaai.org/index.php/AAAI/article/view/28…

【避坑全攻略】如何让私人的LLM拥有一个嗓子——ChatTTS

OpenAI 发布 GPT4o 之后&#xff0c;使得越来越多的人都开始幻想属于自己的AI“伴侣”&#xff0c;这最让人惊艳的就是他们出色的TTS技术。而在此之前&#xff0c;主流的开源TTS有 XTTS 2 和 Bark。而近日&#xff0c;一个名为 ChatTTS 文本转语音项目爆火出圈&#xff0c;引来…

.gitignore 文件

一.什么是 .gitignore 文件 在任何当前工作的 Git 仓库中&#xff0c;每个文件都是这样的&#xff1a; 追踪的&#xff08;tracked&#xff09;- 这些是 Git 所知道的所有文件或目录。这些是新添加&#xff08;用 git add 添加&#xff09;和提交&#xff08;用 git commit 提…