【学习打卡】第19天 数据结构和算法
2022/8/25 4:22:58
本文主要是介绍【学习打卡】第19天 数据结构和算法,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
图
有效数字(leetcode - 65)
给你一个字符串 s ,如果 s 是一个 有效数字 ,请返回 true 。
- 构建一个表示状态的图
- 遍历字符串,并沿着图走,如果到了某节点无路可走就返回false
- 遍历结束,如走到3、5、6,就返回true,否则返回false
var isNumber = function(s) { const graph = { 0: {'blank': 0, 'sign': 1, 'dot': 2, 'digit': 6}, 1: {'digit': 6, 'dot': 2}, 2: {'digit': 3}, 3: {'digit': 3, 'e': 4}, 4: {'digit': 5, 'sign': 7}, 5: {'digit': 5}, 6: {'digit': 6, 'dot': 3, 'e': 4}, 7: {'digit': 5} } let state = 0; for(let c of s.trim()) { if(c >= '0' && c<='9'){ c = 'digit'; }else if(c === ' ') { c = 'blank'; }else if(c === '+' || c==='-') { c = 'sign'; }else if(c === '.') { c = 'dot'; }else if(c === 'e' || c === 'E') { c = 'e'; } state = graph[state][c]; if(state === undefined) { return false; } } if(state === 3 || state === 5 || state === 6) { return true; } return false; };
这篇关于【学习打卡】第19天 数据结构和算法的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-24Java中定时任务实现方式及源码剖析
- 2024-11-24Java中定时任务实现方式及源码剖析
- 2024-11-24鸿蒙原生开发手记:03-元服务开发全流程(开发元服务,只需要看这一篇文章)
- 2024-11-24细说敏捷:敏捷四会之每日站会
- 2024-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解