【学习打卡】第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-15JavaMailSender是什么,怎么使用?-icode9专业技术文章分享
- 2024-11-15JWT 用户校验学习:从入门到实践
- 2024-11-15Nest学习:新手入门全面指南
- 2024-11-15RestfulAPI学习:新手入门指南
- 2024-11-15Server Component学习:入门教程与实践指南
- 2024-11-15动态路由入门:新手必读指南
- 2024-11-15JWT 用户校验入门:轻松掌握JWT认证基础
- 2024-11-15Nest后端开发入门指南
- 2024-11-15Nest后端开发入门教程
- 2024-11-15RestfulAPI入门:新手快速上手指南