当前位置: 首页 > article >正文

Golang | Leetcode Golang题解之第388题文件的最长绝对路径

题目:

题解:

func lengthLongestPath(input string) (ans int) {
    n := len(input)
    level := make([]int, n+1)
    for i := 0; i < n; {
        // 检测当前文件的深度
        depth := 1
        for ; i < n && input[i] == '\t'; i++ {
            depth++
        }

        // 统计当前文件名的长度
        length, isFile := 0, false
        for ; i < n && input[i] != '\n'; i++ {
            if input[i] == '.' {
                isFile = true
            }
            length++
        }
        i++ // 跳过换行符

        if depth > 1 {
            length += level[depth-1] + 1
        }
        if isFile {
            ans = max(ans, length)
        } else {
            level[depth] = length
        }
    }
    return
}

func max(a, b int) int {
    if b > a {
        return b
    }
    return a
}

http://www.kler.cn/a/287571.html

相关文章:

  • 自制C++游戏头文件:C++自己的游戏头文件!!!(后续会更新)
  • JavaScript中如何使用Promise处理异步操作?
  • 【MySQL】优化方向+表连接
  • 系统思考—结构影响行为
  • 活着就好20241118
  • [ACTF2020]Upload 1--详细解析
  • STM32:TIM定时中断配置的最全库函数讲解笔记
  • 微博视频无水印下载的方法
  • 点餐收银小程序
  • mybatis自定义复杂条件拼接
  • element-ui 表单Cannot read property ‘indexOf‘ of undefined
  • 智能体与在线实用工具:协同并进,提升生活效率
  • 安达发|户外设备制造APS排程的多层级BOM订单拉动
  • 逆向中的游戏-入土为安的第二十五天
  • matlab2024a/2023/2022/2020/matlab2019 如何plot画局部放大图(已解决)
  • Redis的内存淘汰策略—— volatile-random
  • unity的语言问题记录(委托相关)
  • 《从C/C++到Java入门指南》- 26.record 类+多态
  • python 字典怎么提取value
  • 测试框架到底是什么,如何定义?
  • 安防管理平台工业排污检测视频智能分析工业排污检测算法源码全套方案
  • Java项目: 基于SpringBoot+mysql网上订餐系统分前后台(含源码+数据库+开题报告+PPT+毕业论文)
  • Electron基础(一) 实现最大化、最小化、关闭窗口功能
  • node.js使用express框架实现api接口开发(从零开始,超简单可直接复制)
  • ES6中js文件执行顺序
  • 第二证券:两市成交不足5000亿元 小盘成长股逆势活跃