力扣每日一题:71. 简化路径 一个现实场景的运维题目

LLM开发实战:从RAG到微调的生产级工程方法论 大语言模型(LLM)已从概念验证迈入生产落地阶段,其核心挑战不再是‘能否回答’,而是‘如何可靠交付’。理解RAG(检索增强生成)与Fine-tuning(微调)的技术原理,是构建可审计、可回滚、可计费AI系统的基础;前者通过外部知识注入缓解幻觉,后者在领域适配中提升指令遵循与结构化输出能力。二者并非替代关系,而是分层防御体系:Prompting处理通用逻辑,RAG兜底专业知识,Fine-tuning固化关键行为。当前技术代际窗口期正快速收敛于工程稳定性标准——如上下文相关性阈值、chunk语义切分策略、QL 阅读详情

71. 简化路径

https://leetcode-cn.com/problems/simplify-path/

难度:中等

题目:

给你一个字符串 path ,表示指向某一文件或目录的 Unix 风格 绝对路径 (以 '/' 开头),请你将其转化为更加简洁的规范路径。

在 Unix 风格的文件系统中,一个点(.)表示当前目录本身;此外,两个点 (..) 表示将目录切换到上一级(指向父目录);两者都可以是复杂相对路径的组成部分。任意多个连续的斜杠(即,'//')都被视为单个斜杠 '/' 。 对于此问题,任何其他格式的点(例如,'...')均被视为文件/目录名称。

请注意,返回的 规范路径 必须遵循下述格式:

始终以斜杠 '/' 开头。
两个目录名之间必须只有一个斜杠 '/' 。
最后一个目录名(如果存在)不能 以 '/' 结尾。
此外,路径仅包含从根目录到目标文件或目录的路径上的目录(即,不含 '.' 或 '..')。
返回简化后得到的 规范路径 。

提示:

1 <= path.length <= 3000
path 由英文字母,数字,'.','/' 或 '_' 组成。
path 是一个有效的 Unix 风格绝对路径。

示例:

示例 1:

输入:path = "/home/"
输出:"/home"
解释:注意,最后一个目录名后面没有斜杠。
示例 2:

输入:path = "/../"
输出:"/"
解释:从根目录向上一级是不可行的,因为根目录是你可以到达的最高级。
示例 3:

输入:path = "/home//foo/"
输出:"/home/foo"
解释:在规范路径中,多个连续斜杠需要用一个斜杠替换。
示例 4:

输入:path = "/a/./b/../../c/"
输出:"/c"

分析:

初看问题觉得有些模糊,但如果按照路径拆分为列表后,再去看这道题,
就成了一道标准的简单栈问题了。当遇到['.' ,'..', '']以外的内容入栈,
遇到..并且当前栈非空则出栈,最后拼接/即可

解题:

class Solution:
    def simplifyPath(self, path: str) -> str:
        stack = []
        for p in path.split('/'):
            if p not in ['.', '..', '']:
                stack.append(p)
            elif p == '..' and stack:
                stack.pop()
        return f"/{'/'.join(stack)}"

欢迎关注我的公众号: 清风Python,带你每日学习Python算法刷题的同时,了解更多python小知识。有喜欢力扣刷题的小伙伴可以加我微信互相鼓励,共同进步,一起玩转超级码力!

我的个人博客:https://qingfengpython.cn

力扣解题合集:https://github.com/BreezePython/AlgorithmMarkdown

SQL数据思维三重标尺:语法·执行·业务的工程化实践 SQL不仅是查询语言,更是数据科学家理解数据流动、驱动AI系统落地的核心能力。从基础语法到执行引擎原理,再到业务语义映射,真正高阶的SQL能力体现在对JOIN策略、窗口函数、索引优化和特征一致性的深度掌控。它连接数据探查、特征工程、性能诊断与MLOps协同,支撑实时数仓、训练数据漂移检测、向量特征校验等关键场景。本文聚焦SQL在真实生产环境中的思维框架与硬核细节,覆盖PostgreSQL/MySQL/Snowflake多引擎实践,强调执行计划解读、业务逻辑嵌入与系统级协作,助力数据从业者跨越‘写得对’到‘想 阅读详情

相关推荐

数据科学新人避坑指南:从认知误区到业务闭环的实战地图

数据科学不是工具堆砌或数学炫技,而是一门以解决真实业务问题为终极目标的工程学科。其核心在于理解数据背后的业务逻辑、识别模型假设与现实约束的匹配度,并构建可监控、可迭代的端到端闭环。本文聚焦数据科学入门阶段最常见的认知断层——如混淆工具熟练度与问题解决力、用Kaggle式干净数据替代生产环境脏数据处理、忽视特征工程中的业务语义而仅做技术编码等。结合真实业务建模案例,系统拆解从需求定义、数据探查、特征构建到上线监控的关键路径,强调‘业务假设检验’和‘最小可行闭环’两大实践原则,帮助转行者避开信息迷宫,直击能力成

weixin_34248487的博客 426

从零开始刷力扣(九十七)——71. 简化路径

分类:栈与递归 题目描述 给你一个字符串path,表示指向某一文件或目录的Unix 风格绝对路径(以'/'开头),请你将其转化为更加简洁的规范路径。 在 Unix 风格的文件系统中,一个点(.)表示当前目录本身;此外,两个点 (..)表示将目录切换到上一级(指向父目录);两者都可以是复杂相对路径的组成部分。任意多个连续的斜杠(即,'//')都被视为单个斜杠 '/' 。 对于此问题,任何其他格式的点(例如,'...')均被视为文件/目录名称。 请注意,返回的规范路径必须遵循下述格式...

guxin_duyin的博客 582

AI产业成熟期的三大标志:营收、并购与人才战

人工智能已从技术探索阶段迈入商业落地深水区,其核心标志不再是模型参数或推理速度,而是可验证的AI Revenue(AI营收)、战略导向的M&A(并购)以及T型复合型人才的系统性短缺。这一转变源于基础设施成本坍塌、全球合规框架落地与企业客户认知升级三重驱动,推动AI价值衡量标准从‘能否实现’转向‘是否划算’。在金融、制造、医疗等垂直领域,真正被采购的不再是通用大模型,而是能嵌入ERP/MES/HIS等核心系统、支持业务归因与合规审计的端到端AI能力。本文聚焦AI产业生命周期中的‘成熟临界点’,解析营收结构范式

dengliugong3918的博客 501

2021-07-16

刷题计划第一道 ----1.简化路径 给你一个字符串 path ,表示指向某一文件或目录的 Unix 风格 绝对路径 (以 ‘/’ 开头),请你将其转化为更加简洁的规范路径。 在 Unix 风格的文件系统中,一个点(.)表示当前目录本身;此外,两个点 (…) 表示将目录切换到上一级(指向父目录);两者都可以是复杂相对路径的组成部分。任意多个连续的斜杠(即,’//’)都被视为单个斜杠 ‘/’ 。 对于此问题,任何其他格式的点(例如,’…’)均被视为文件/目录名称。 请注意,返回的 规范路径 必须遵循下述格式:

AberamaGold的博客 337

大模型工程化弹药库:模型-数据-工具三维协同实战指南

大模型工程化不是单纯选模型,而是构建可复用、可验证、可演进的资源体系。其核心在于模型能力与任务需求的精准匹配、数据质量的可信度分级治理、以及工具链的生产级稳定性保障。当前开发者普遍面临Agent多API调用格式不统一、RAG检索因分块失当导致语义断裂、微调后模型泛化能力退化等典型问题,根源常不在算法本身,而在资源协同失效。本文基于真实项目压测数据,聚焦中文场景下的开源模型选型逻辑、高可信数据集筛选标准、轻量高效工具链落地实践,为AI工程师提供一套即插即用的工程化‘弹药库’配置方案。

weixin_30897233的博客 435

ML工程师不是调参员:从模型到可靠服务的工程化实战

机器学习工程(MLE)本质上是将算法能力转化为稳定、可观测、可维护的生产级系统的能力。它根植于软件工程范式——强调可测试性、可监控性、可回滚性,同时叠加数据工程与模型生命周期管理的双重复杂性。其核心价值不在于模型前沿性,而在于保障端到端预测服务的可靠性、低延迟与业务一致性。典型应用场景包括实时风控、个性化推荐、智能客服等对SLA敏感的线上系统,其中特征管道稳定性、模型热更新、漂移检测与灰度发布构成关键能力支柱。本文聚焦工业级ML工程落地中的真实挑战与解法,覆盖Flink实时特征计算、Triton模型服务优化

weixin_34013044的博客 321

【栈】71. 简化路径

71. 简化路径 题目 71. 简化路径 给你一个字符串 path ,表示指向某一文件或目录的 Unix 风格 绝对路径 (以 ‘/’ 开头),请你将其转化为更加简洁的规范路径。 在 Unix 风格的文件系统中,一个点(.)表示当前目录本身;此外,两个点 (…) 表示将目录切换到上一级(指向父目录);两者都可以是复杂相对路径的组成部分。任意多个连续的斜杠(即,’//’)都被视为单个斜杠 ‘/’ 。 对于此问题,任何其他格式的点(例如,’…’)均被视为文件/目录名称。 请注意,返回的 规范路径 必须遵循下述格

兰陵鸡王的博客 476

【信息科学与工程学】【数据科学】数据科学领域-第十一篇 数据集成算法01

​​降低维护成本​​:通过抽象通用流程(如),当需要修改故障注入逻辑(如更换混沌工具)时,只需修改一处代码,无需修改所有测试用例;​​提升扩展性​​:通过参数化故障场景(如),可快速生成新的故障用例(如针对新服务的延迟故障),适应系统迭代需求;​​增强场景真实性​​:通过组合混沌操作(如),模拟真实生产环境中的复杂故障链(如“网络延迟+服务宕机”),更准确地验证系统韧性;​​提高分析效率​​:通过自动化结果分析(如),快速获取MTTR、错误率等关键指标,减少人工分析时间。

weixin_49199313的博客 957

【LeetCode Solutions】LeetCode 71 ~ 75 题解

【LeetCode Solutions】LeetCode 71 ~ 75 题解

一只快乐的小蒟蒻~ 605

深度学习初探 - 入门 DL 主流框架

这个课程主要是引导大家入门TensorFlow、Theano、Keras 及 Caffe 几个主流的深度学习框架。在课程中有关各种算法的详细推导及思想我们不会做过多的陈诉,旨在通过让同学们动手操作搭建自己的神经网络模型,了解如何使用这些框架解决实际问题。课程会基于每个框架的官方文档,先带大家熟悉框架中基本的定义语法及常用函数(可看成深度模型的小零件),每个实验最后都会综合这些零件搭建一个简易的神经深度网络模型。这个项目十分适合具有一定python编程基础,对人工智能、深度学习感兴趣的同学。Theano。

2401_86435672的博客 1235

STM32HAL库学习笔记九——LCD显示

本文不会对驱动编写做特别详细的描述,以记录CubeMX的部署流程为主。

weixin_44762233的博客 6919

iOS LeetCode ☞ 简化路径

给你一个字符串 path ,表示指向某一文件或目录的 Unix 风格 绝对路径 (以 '/' 开头),请你将其转化为更加简洁的规范路径。 在 Unix 风格的文件系统中,一个点(.)表示当前目录本身;此外,两个点 (..) 表示将目录切换到上一级(指向父目录);两者都可以是复杂相对路径的组成部分。任意多个连续的斜杠(即,'//')都被视为单个斜杠 '/' 。 对于此问题,任何其他格式的点(例如,'...')均被视为文件/目录名称。 请注意,返回的 规范路径 必须遵循下述格式: 始终以斜杠 '/' 开头。

HumorousGhost 345

思科路由器IPv6各种路由协议配置

思科路由器IPv6路由协议配置:1、静态路由配置;2、默认路由配置;3、RIPng路由配置;4、OSPFv3路由配置。

weixin_41687096的博客 6544

机器学习工程师成长路径:从本科生到工业级ML系统构建

机器学习工程师不是单纯掌握算法或调参的岗位,而是一个融合数据工程、模型工程与系统工程的复合型技术角色。其核心能力源于真实问题驱动的学习闭环——通过最小可行问题倒逼知识获取,在实践中识别并规避典型工程陷阱(如特征泄露、训练-推理不一致、服务内存泄漏)。技术价值体现在将模型转化为稳定、可观测、可迭代的业务服务,支撑推荐、风控、搜索等关键场景。本文基于作者在Towards AI持续输出47篇工业级技术笔记的真实经历,系统拆解一条可复现的成长路径:以数据管道为基座,以模型生命周期管理为中枢,以服务网格化为高阶能力,

weixin_30240349的博客 513

VCS多lib编译实战:如何高效处理Verilog模块重命名与分开编译

本文深入探讨了在复杂SoC设计中,如何利用VCS工具实现多库编译,以高效处理Verilog模块重命名与分开编译的工程难题。通过解析synopsys_sim.setup配置、Config映射机制,并提供完整的自动化脚本实战指南,帮助工程师构建健壮、可维护的编译环境,从而显著提升大型项目的编译效率和代码管理灵活性。

weixin_29169505的博客 358

手把手教你 Ubuntu 24.04 离线安装 Ollama

本文介绍 Ubuntu 下离线安装 Ollama 并使用 Ollama 部署 llama3.1-70b 大模型

举世誉之而不加劝,举世非之而不加沮,定乎内外之分,辩乎荣辱之境,斯已矣。 1021

豆包2.0深度解析:中文多模态AI如何实现生活化协作者跃迁

大模型已从‘能回答问题’进入‘懂生活语境’的新阶段。多模态AI不再仅指图像识别能力,而是文本、语音、PDF、实时数据等多源信息在统一语义空间中的联合理解与协同响应;其技术价值在于降低人机协作的认知负荷——通过任务导向的模型分治(Pro/Lite/Mini/Code)、跨模态向量对齐、状态机驱动的Agent架构,真正实现‘说人话、办人事’。典型应用场景覆盖自媒体内容生成、扫描文档精准解析、本地化实时服务查询及轻量级代码自动化,尤其在中文口语理解、OCR鲁棒性、边缘离线推理和城市API融合方面形成差异化优势。

aigui1439的博客 457

华为面试手撕真题【字符串压缩】

华为面试手撕真题【字符串压缩】

MISAYAONE的博客 1万+

leetcode71-简化路径

给你一个字符串 path ,表示指向某一文件或目录的 Unix 风格 绝对路径 (以 ‘/’ 开头),请你将其转化为更加简洁的规范路径。在 Unix 风格的文件系统中,一个点(.)表示当前目录本身;此外,两个点 (…) 表示将目录切换到上一级(指向父目录);两者都可以是复杂相对路径的组成部分。任意多个连续的斜杠(即,‘//’)都被视为单个斜杠 ‘/’。对于此问题,任何其他格式的点(例如,‘…’)均被视为文件/目录名称。返回简化后得到的 规范路径。

aillear的博客 310

ubuntu emto-cpa安装与编译

ubuntu emto-cpa安装与编译

qq_45834835的博客 1436

信奥赛csp初赛高频考点【位运算】(详细解析)

信奥赛csp初赛高频考点【位运算】(详细解析)

王老师青少年编程 375

Leetcode 简化路径

简化路径 题目描述: 给你一个字符串 path ,表示指向某一文件或目录的 Unix 风格绝对路径(以 '/' 开头),请你将其转化为更加简洁的规范路径。 在 Unix 风格的文件系统中,一个点(.)表示当前目录本身;此外,两个点 (..) 表示将目录切换到上一级(指向父目录);两者都可以是复杂相对路径的组成部分。任意多个连续的斜杠(即,'//')都被视为单个斜杠 '/' 。 对于此问题,任何其他格式的点(例如,'...')均被视为文件/目录名称。 请注意,返回的规范路径必须遵循下述格式: 始终以斜杠

一夜星尘 1631

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

简化路径 给你一个字符串 path ,表示指向某一文件或目录的 Unix 风格 绝对路径 (以 ‘/‘ 开头),请你将其转化为 更加简洁的规范路径。

对于空字符串和一个点,无需对它们进行处理,因为空字符串没有任何含义,而一个点表示当前目录本身,无需切换目录。对于两个点或者目录名,可以用一个栈来维护路径中的每一个目录名。当遇到两个点时,需要将目录切换到上一级,只要栈不为空,就弹出栈顶的目录。当遇到目录名时,就把它放入栈。

2401_86881031的博客 518

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

LeetCode 71:简化路径

给你一个字符串path,表示指向某一文件或目录的 Unix 风格(以'/'开头),请你将其转化为更加简洁的规范路径。在 Unix 风格的文件系统中,一个点()表示当前目录本身;此外,两个点 (..) 表示将目录切换到上一级(指向父目录);两者都可以是复杂相对路径的组成部分。任意多个连续的斜杠(即,'//')都被视为单个斜杠'/'。对于此问题,任何其他格式的点(例如,'...')均被视为文件/目录名称。请注意,返回的'/''/''/''.''..'返回简化后得到的。"/home"

Jarvs的博客 544

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

力扣刷题心得(设计类题目)

设计类题目基本考察的是你对现实事物的抽象能力,一般会遇到一些类的设计、字符串切分、集合的使用(list、map、set、stack、deque)等,结束后我会更新一些关于这些集合的常见使用方法和场景。 一、设计文件系统 你需要设计一个能提供下面两个函数的文件系统: create(path, value):创建一个新的路径,并尽可能将值 value 与路径 path 关联,然后返回True。如果路径已经存在或者路径的父路径不存在,则返回False。 get(path):返回与路径关联的值。如果...

qq_35789269的博客 1854

力口刷题记录---菜鸡成长记录

菜鸡记录,大佬们随时指点纠正

Larry_me的博客 169
上一篇: 力扣每日一题:74.搜索二维矩阵的三种解题方法
下一篇: 力扣每日一题:438. 找到字符串中所有字母异位词
清风Python
博客等级 码龄7年 406粉丝 267原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值