leetcode(71-75)

Java实现 LeetCode 739 每日温度(暴力循环) 739. 每日温度 根据每日 气温 列表,请重新生成一个列表,对应位置的输出是需要再等待多久温度才会升高超过该日的天数。如果之后都不会升高,请在该位置用 0 来代替。 例如,给定一个列表 temperatures = [73, 74, 75, 71, 69, 72, 76, 73],你的输出应该是 [1, 1, 4, 2, 1, 1, 0, 0]。 提示:气温 列表长度的范围是 [1, 30000... 阅读详情

71. 简化路径

给定一个文档 (Unix-style) 的完全路径,请进行路径简化。

例如,
path = "/home/", => "/home"
path = "/a/./b/../../c/", => "/c"

边界情况:

  • 你是否考虑了 路径 = "/../" 的情况?
    在这种情况下,你需返回 "/" 。
  • 此外,路径中也可能包含多个斜杠 '/' ,如 "/home//foo/" 。
    在这种情况下,你可忽略多余的斜杠,返回 "/home/foo" 。
class Solution {
public:
    string simplifyPath(string path) {
        string res,tmp;
        vector<string> str;
        stringstream s(path);
        while(getline(s, tmp, '/')){
            if(tmp=="." || tmp=="") continue;
            else if(tmp==".."){
                if(!str.empty()) str.pop_back();
            } else {
                str.push_back(tmp);
            }
        }
        for(auto& i:str){
            res+="/"+i;
        }
        return res.empty()? "/":res;
    }
};

72. 编辑距离

给定两个单词 word1 和 word2,计算出将 word1 转换成 word2 所使用的最少操作数 。

你可以对一个单词进行如下三种操作:

  1. 插入一个字符
  2. 删除一个字符
  3. 替换一个字符

示例 1:

输入: word1 = "horse", word2 = "ros"
输出: 3
解释: 
horse -> rorse (将 'h' 替换为 'r')
rorse -> rose (删除 'r')
rose -> ros (删除 'e')

示例 2:

输入: word1 = "intention", word2 = "execution"
输出: 5
解释: 
intention -> inention (删除 't')
inention -> enention (将 'i' 替换为 'e')
enention -> exention (将 'n' 替换为 'x')
exention -> exection (将 'n' 替换为 'c')
exection -> execution (插入 'u')
class Solution {
public:
    int minDistance(string word1, string word2) {
        int len1=word1.size(),len2=word2.size();
        if(len1==0) return len2;
        if(len2==0) return len1;
        int dp[len1+1][len2+1];
        for(int i=0; i<=len1; i++) dp[i][0]=i;
        for(int i=0; i<=len2; i++) dp[0][i]=i;
        for(int i=1; i<=len1; i++){
            for(int j=1; j<=len2; j++){
                if(word1[i-1]==word2[j-1]) dp[i][j]=dp[i-1][j-1];
                else dp[i][j]=min(dp[i-1][j-1]+1, min(dp[i-1][j]+1, dp[i][j-1]+1));
            }
        }
        return dp[len1][len2];
    }
};

73. 矩阵置零

给定一个 m x n 的矩阵,如果一个元素为 0,则将其所在行和列的所有元素都设为 0。请使用原地算法。

示例 1:

输入: 
[
  [1,1,1],
  [1,0,1],
  [1,1,1]
]
输出: 
[
  [1,0,1],
  [0,0,0],
  [1,0,1]
]

示例 2:

输入: 
[
  [0,1,2,0],
  [3,4,5,2],
  [1,3,1,5]
]
输出: 
[
  [0,0,0,0],
  [0,4,5,0],
  [0,3,1,0]
]

进阶:

  • 一个直接的解决方案是使用  O(mn) 的额外空间,但这并不是一个好的解决方案。
  • 一个简单的改进方案是使用 O(m + n) 的额外空间,但这仍然不是最好的解决方案。
  • 你能想出一个常数空间的解决方案吗?
class Solution {
public:
    void setZeroes(vector<vector<int>>& matrix) {
        if(matrix.empty()) return;
        bool col[matrix[0].size()]={false};
        for(int i=0; i<matrix.size(); i++){
            bool row=false;
            for(int j=0; j<matrix[0].size(); j++){
                if(matrix[i][j] == 0){
                    row = true;
                    col[j] = true;
                }
            }
            if(row){
                for(int j=0; j<matrix[0].size(); j++) matrix[i][j]=0;
            }
        }
        for(int j=0; j<matrix[0].size(); j++){
            if(col[j]){
                for(int i=0; i<matrix.size(); i++) matrix[i][j]=0;
            }
        }
    }
};

74. 搜索二维矩阵

编写一个高效的算法来判断 m x n 矩阵中,是否存在一个目标值。该矩阵具有如下特性:

  • 每行中的整数从左到右按升序排列。
  • 每行的第一个整数大于前一行的最后一个整数。

示例 1:

输入:
matrix = [
  [1,   3,  5,  7],
  [10, 11, 16, 20],
  [23, 30, 34, 50]
]
target = 3
输出: true

示例 2:

输入:
matrix = [
  [1,   3,  5,  7],
  [10, 11, 16, 20],
  [23, 30, 34, 50]
]
target = 13
输出: false
class Solution {
public:
    bool searchMatrix(vector<vector<int>>& matrix, int target) {
        if(matrix.empty()) return false;
        int row=matrix.size(), col=matrix[0].size();
        int left=0, right=row*col;
        while(left<right){
            int mid=(right-left)/2+left;
            int m=mid/col, n=mid%col;
            if(matrix[m][n] == target) return true;
            else if(matrix[m][n] < target) left=mid+1;
            else right=mid;
        }
        return false;
    }
};

75. 颜色分类

给定一个包含红色、白色和蓝色,一共 n 个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。

此题中,我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。

注意:
不能使用代码库中的排序函数来解决这道题。

示例:

输入: [2,0,2,1,1,0]
输出: [0,0,1,1,2,2]

进阶:

  • 一个直观的解决方案是使用计数排序的两趟扫描算法。
    首先,迭代计算出0、1 和 2 元素的个数,然后按照0、1、2的排序,重写当前数组。
  • 你能想出一个仅使用常数空间的一趟扫描算法吗?
class Solution {
public:
    void sortColors(vector<int>& nums) {
        int zero=0,one=0;
        for(int i=0; i<nums.size(); i++){
            if(nums[i]==0) zero++;
            else if(nums[i]==1) one++;
        }
        for(int i=0; i<nums.size(); i++){
            if(i<zero) nums[i]=0;
            else if(i>=(zero+one)) nums[i]=2;
            else nums[i]=1;
        }
    }
};

77. 组合

给定两个整数 n 和 k,返回 1 ... n 中所有可能的 k 个数的组合。

示例:

输入: n = 4, k = 2
输出:
[
  [2,4],
  [3,4],
  [2,3],
  [1,2],
  [1,3],
  [1,4],
]

 

(以上题目均摘自leetcode)

 

LeetCode739-每日温度 题目 请根据每日 气温 列表,重新生成一个列表。对应位置的输出为:要想观测到更高的气温,至少需要等待的天数。如果气温在这之后都不会升高,请在该位置用 0 来代替。 例如,给定一个列表 temperatures = [73, 74, 75, 71, 69, 72, 76, 73],你的输出应该是 [1, 1, 4, 2, 1, 1, 0, 0]。 提示:气温 列表长度的范围是 [1, 30000]。每个气温的值的均为华氏度,都是在 [30, 100] 范围内的整数。 来源:力扣(LeetCode) 链接:le 阅读详情

相关推荐

LeetCode+ 71 - 75

给我们一个路径,要求把文件路径化简,给定的路径一定是合法的 Linux 路径,一个合法的 Linux 路径一般从 / 开始,/ 表示根目录,有很多的子目录 home、y,"." 表示在当前目录(一个 "." 没有任何变化), ".." 表示返回上一级目录如果一个路径是 / home / a / .. / b,根目录 → home → a → b,化简其实就是把所有的 "." 和 ".." 去掉,当前案例去掉就是 / home / b注意特殊情况:斜杠 " / " 可能会有连续多个,需要把连续多个斜

weixin_60569662的博客 441

LeetCode 71~75

前言 本文隶属于专栏《LeetCode 刷题汇总》,该专栏为笔者原创,引用请注明来源,不足和错误之处请在评论区帮忙指出,谢谢! 本专栏目录结构请见LeetCode 刷题汇总 正文 幕布 幕布链接 71. 简化路径 题解 Java 10-lines solution with stack​ 一点两点特殊处理 import scala.collection.mutable.ListBuffer object Solution { def simplifyPath(path: String): Str

Shockang的博客 6703

leetcode刷题(71-75)

算法是码农的基本功,也是各个大厂必考察的重点,让我们一起坚持写题吧。遇事不决,可问春风,春风不语,即是本心。我们在我们能力范围内,做好我们该做的事,然后相信一切都事最好的安排就可以啦,慢慢来,会很快,向前走,别回头。

nuist_NJUPT的博客 832

【LeetCode Solutions】LeetCode 71 ~ 75 题解

【LeetCode Solutions】LeetCode 71 ~ 75 题解

一只快乐的小蒟蒻~ 605

LeetCode刷题模版:71 - 80

Hello!ଘ(੭ˊᵕˋ)੭昵称:海轰标签:程序猿|C++选手|学生简介:因C语言结识编程,随后转入计算机专业,获得过国家奖学金,有幸在竞赛中拿过一些国奖、省奖…已保研学习经验:扎实基础 + 多做笔记 + 多敲代码 + 多思考 + 学好英语!唯有努力💪本文仅记录自己感兴趣的内容文章仅作为个人学习笔记记录,记录从0到1的一个过程希望对您有一点点帮助,如有错误欢迎小伙伴指正。

海到无边天作岸 山登绝顶我为峰 1069

LeetCode 精选 75 回顾

LeetCode 75 面试必考精华版回顾练习: 重新审视题目,对其进行解题思路分析、算法复杂度分析、代码实现以及结果验证

曾经“等你生日那天”都遥远得像未来,如今却可欢愉的挥手说“下个十年见” 7万+

【JavaScript】LeetCode:71-75

二分查找对数组进行两次二分查找,分别寻找target在数组中的第一个位置和最后一个位置。第一个位置:当mid所指向的位置 < target时,left往右收;当mid所指向的位置 >= target时,right往左收。因此到最后一轮查找时,如果mid所指向的位置为target,left所指向的位置就是左端点,即第一个位置。最后一个位置:当mid所指向的位置 > target时,right往左收;当mid所指向的位置 <= target时,left往右收。

weixin_45980065的博客 727

Palantir的Ontology:从静态知识图谱到动态业务引擎的跃迁

本文探讨了Palantir的Ontology技术如何将静态知识图谱升级为动态业务引擎。通过引入函数和行动作为核心元素,Ontology实现了业务逻辑的自动化响应与执行,显著提升物流、能源等领域的运营效率。文章详细解析了其混合存储引擎、状态监听网络等关键技术设计,并对比展示了传统架构与Ontology架构的业务价值差异。

weixin_42570296的博客 200

LeetCode 实践练习71-75

LeetCode—71(简化路径) 方法:规律,若遇到".“的情况直接去掉,若遇到”…"的情况,删掉紧挨着的上一个路径。还有若为空,则返回/,如果有多个/只保留一个。C++中有专门处理字符串的机制,我们可以使用stringstream来分割字符串,然后对每一段处理。 C++代码: class Solution { public: string simplifyPath(string pa...

qq_40104034的博客 180

从IMC层到应力点:手把手教你用SEM/EDS给BGA焊点做一次‘体检’

本文详细介绍了如何使用SEM/EDS技术对BGA焊点进行全面失效分析,从样品制备到SEM观察、EDS分析,再到综合诊断,手把手教你识别焊点的微观特征和成分异常。文章特别强调了IMC层分析在BGA焊接失效诊断中的关键作用,并提供了实用的实验室技巧和常见失效模式对照表,帮助工程师快速定位问题根源。

weixin_42685438的博客 384

2023-07-04 Fast-Lio论文中公式(6)与BCH公式中近似雅可比公式的一致性推导

将(1)式代入(6)式,就有。

wmorries的博客 478

力扣爆刷第117天之CodeTop100五连刷71-75

题目链接:https://leetcode.cn/problems/find-first-and-last-position-of-element-in-sorted-array/description/思路:采用二分查找,分别查找左边界和右边界,注意边界条件,越界和不符合的返回-1;

qq_43511039的博客 521

从零构建:openEuler WSL下的ARM交叉编译工具链自动化部署方案

本文详细介绍了在openEuler WSL环境下使用Ansible自动化部署ARM交叉编译工具链的方案。通过编写Ansible角色和Playbook,实现从基础环境配置到工具链安装、环境变量设置的一键部署,大幅提升嵌入式开发效率。方案支持多种ARM架构,并扩展了QEMU仿真、VS Code远程开发等实用功能,是嵌入式开发者的高效解决方案。

h3i4j的博客 383

leetcode/71-75

234-回文链表 /** * 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 = ne

fan__lee的博客 317

信创那些事儿——Spring Boot中集成东方通中间件(TongWeb)

在Spring Boot中集成东方通中间件(如TongWeb作为Servlet容器)通常涉及几个步骤,但需要注意的是,TongWeb本身是一个独立的Java EE应用服务器,而不是像Tomcat那样可以直接嵌入到Spring Boot应用中的中间件。因此,集成通常意味着将Spring Boot应用打包为WAR文件并部署到TongWeb服务器上。

来北欧写代码 6491

从零到一:Qt与PCL的跨平台开发环境搭建全攻略

本文详细介绍了从零开始搭建Qt与PCL跨平台开发环境的完整流程,涵盖Windows、Linux和macOS三大平台。重点解析了Qt5与Qt6版本选择、PCL库安装配置、VTK集成等关键技术要点,并提供跨平台CMake项目模板和常见问题解决方案,助力开发者快速构建三维点云处理应用。

weixin_29280657的博客 384

力扣爆刷第97天之hot100五连刷71-75

题目链接:https://leetcode.cn/problems/kth-largest-element-in-an-array/description/?题目链接:https://leetcode.cn/problems/largest-rectangle-in-histogram/description/?题目链接:https://leetcode.cn/problems/top-k-frequent-elements/description/?

qq_43511039的博客 519

为JETSON TX2开发板部署YoloV5

参考资料一:nvidia为JETSON Tx2编译的pytorch 参考资料二:Jetson软件包下载 参考资料三:Tx2安装工具的使用 参考资料四: Jetson烧录工具 参考资料五: B站下载的行人视频 一、升级TX2系统版本到最新版(JetPack4.6) 我拿到的板子的版本太低了,在工作的过程中会有很多问题,因此要先升级到最新版 下载参考资料四中的烧录工具,在Ubuntu18.04中安装,只能,必须,一定是Ubuntu18.04 安装完成后使用非root用户启动SDK Manger,登录Nvi.

贱贱的剑 5887

leetcode题解python版:71-75

71、简化路径 以 Unix 风格给出一个文件的绝对路径,你需要简化它。或者换句话说,将其转换为规范路径。 在 Unix 风格的文件系统中,一个点(.)表示当前目录本身;此外,两个点 (…) 表示将目录切换到上一级(指向父目录);两者都可以是复杂相对路径的组成部分。更多信息请参阅:Linux / Unix中的绝对路径 vs 相对路径 请注意,返回的规范路径必须始终以斜杠 / 开头,并且两个目录名之间必须只有一个斜杠 /。最后一个目录名(如果存在)不能以 / 结尾。此外,规范路径必须是表示绝对路径的最短字符串

baidu_41689104的博客 413

Unity Hololens2开发|(一)环境配置

开发过程中预览和调试应用:可以在电脑上的 Unity 编辑器中以播放模式本地运行应用,并将体验流式传输到 HoloLens2。将来自 HoloLens2 的输入(视线、手势、语音和空间映射)发送到电脑,在其中内容以虚拟沉浸式视图渲染。在HoloLens2设备中,打开Settings面板,依次选择Update & Security > For Developers,打开“Developer Mode”。在开发计算机中打开控制面板,依次选择“更新和安全> 开发者选项”,打开“开发人员模式”;

游戏开发小Y的博客 14万+

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

每日5题Day15 - LeetCode 71 - 75

【代码】每日5题Day15 - LeetCode 71 - 75。

alimamaalala的博客 502

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

Python小白 Leetcode刷题历程 No.71-No.75 简化路径、编辑距离、矩阵置零、搜索二维矩阵、颜色分类 (有题干 有代码 有思路心得)

Python小白 Leetcode刷题历程 No.71-No.75 简化路径、编辑距离、矩阵置零、搜索二维矩阵、颜色分类 写在前面: 作为一个计算机院的大学生,总觉得仅仅在学校粗略的学习计算机专业课是不够的,尤其是假期大量的空档期,作为一个小白,实习也莫得路子,又不想白白耗费时间。于是选择了Leetcode这个平台来刷题库。编程我只学过基础的C语言,现在在自学Python,所以用Pyt...

LanXiu_的博客 897

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

面试笔试杂项积累-leetcode 71-75

6天刷了70多道。从开始一天2-3道到10多道一天,感觉浑身上下酸爽啊,,,希望越刷越快 71.71-Simplify Path-Difficulty:Medium Given an absolute path for a file (Unix-style), simplify it. For example, path = "/home/", => "/home" pa

wolf96的专栏 740

力扣爆刷第161天之TOP100五连刷71-75(搜索二叉树、二维矩阵、路径总和)

题目链接:https://leetcode.cn/problems/find-first-and-last-position-of-element-in-sorted-array/description/思路:求排序数组中目标元素出现的最左位置和最右位置,其实就是采用二分查找,分开查找,先查找左边界再查找右边界。然后注意边界条件,即元素是否存在,查出来的边是否超界。

qq_43511039的博客 1118

LeetCode 739.每日温度(C++)

单调栈思路 class Solution { public: vector<int> dailyTemperatures(vector<int>& T) { //向量T的size int n = T.size(); //生成向量的初始化 vector<int> ans(n); //单调栈 stack<int> s; //遍历 for (int i = 0; i

伍粟的博客 498

【C++、栈】LeetCode739 每日温度

每日温度 根据每日 气温 列表,请重新生成一个列表,对应位置的输出是需要再等待多久温度才会升高超过该日的天数。如果之后都不会升高,请在该位置用 0 来代替。 例如,给定一个列表 temperatures = [73, 74, 75, 71, 69, 72, 76, 73],你的输出应该是 [1, 1, 4, 2, 1, 1, 0, 0]。 提示:气温 列表长度的范围是 [1, 30000]。...

qionggaobi9328的博客 290
上一篇: leetcode(66-70)
下一篇: leetcode(76-80)
小小螺丝刀
博客等级 码龄10年 41粉丝 45原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值