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

建设高端网站网站建设设计语言

建设高端网站,网站建设设计语言,upai云cdn WordPress,网络公司名字四个字文章目录一、问题来源二、题目描述三、题解中的自动机四、自动机学习五、有限状态机的使用场景一、问题来源 今天做力克题目的时候看到了字符串转换整数的一道算法题,其中又看到了题解中有自动机的概念,所以在这里对自动机做个笔记。题目链接 二、题目描…

文章目录

  • 一、问题来源
  • 二、题目描述
  • 三、题解中的自动机
  • 四、自动机学习
  • 五、有限状态机的使用场景

一、问题来源

今天做力克题目的时候看到了字符串转换整数的一道算法题,其中又看到了题解中有自动机的概念,所以在这里对自动机做个笔记。题目链接

二、题目描述

请你来实现一个 myAtoi(string s) 函数,使其能将字符串转换成一个 32 位有符号整数(类似 C/C++ 中的 atoi 函数)。函数 myAtoi(string s) 的算法如下:

  1. 读入字符串并丢弃无用的前导空格
  2. 检查下一个字符(假设还未到字符末尾)为正还是负号,读取该字符(如果有)。 确定最终结果是负数还是正数。 如果两者都不存在,则假定结果为正。
  3. 读入下一个字符,直到到达下一个非数字字符或到达输入的结尾。字符串的其余部分将被忽略。
  4. 将前面步骤读入的这些数字转换为整数(即,“123” -> 123, “0032” -> 32)。如果没有读入数字,则整数为 0 。必要时更改符号(从步骤 2 开始)。
  5. 如果整数数超过 32 位有符号整数范围 [−231, 231 − 1] ,需要截断这个整数,使其保持在这个范围内。具体来说,小于 −231 的整数应该被固定为 −231 ,大于 231 − 1 的整数应该被固定为 231 − 1 。
  6. 返回整数作为最终结果。

注意:

  • 本题中的空白字符只包括空格字符 ’ ’ 。
  • 除前导空格或数字后的其余字符串外,请勿忽略 任何其他字符。

示例 1:
输入:s = “42”
输出:42
解释:加粗的字符串为已经读入的字符,插入符号是当前读取的字符。
第 1 步:“42”(当前没有读入字符,因为没有前导空格)
第 2 步:“42”(当前没有读入字符,因为这里不存在 ‘-’ 或者 ‘+’)
第 3 步:“42”(读入 “42”)
解析得到整数 42 。
由于 “42” 在范围 [-231, 231 - 1] 内,最终结果为 42 。

示例 2:
输入:s = " -42"
输出:-42
解释:
第 1 步:" -42"(读入前导空格,但忽视掉)
第 2 步:" -42"(读入 ‘-’ 字符,所以结果应该是负数)
第 3 步:" -42"(读入 “42”)
解析得到整数 -42 。
由于 “-42” 在范围 [-231, 231 - 1] 内,最终结果为 -42 。

示例 3:
输入:s = “4193 with words”
输出:4193
解释:
第 1 步:“4193 with words”(当前没有读入字符,因为没有前导空格)
第 2 步:“4193 with words”(当前没有读入字符,因为这里不存在 ‘-’ 或者 ‘+’)
解析得到整数 4193 。
由于 “4193” 在范围 [-231, 231 - 1] 内,最终结果为 4193 。

三、题解中的自动机

思路

字符串处理的题目往往涉及复杂的流程以及条件情况,如果直接上手写程序,一不小心就会写出极其臃肿的代码。

因此,为了有条理地分析每个输入字符的处理方法,我们可以使用自动机这个概念:

我们的程序在每个时刻有一个状态 s,每次从序列中输入一个字符 c,并根据字符 c 转移到下一个状态 s’。这样,我们只需要建立一个覆盖所有情况的从 s 与 c 映射到 s’ 的表格即可解决题目中的问题。

算法
本题可以建立如下图所示的自动机:
在这里插入图片描述
接下来编程部分就非常简单了:我们只需要把上面这个状态转换表抄进代码即可

四、自动机学习

根据上述,我们大概对自动机有一个初步的了解,接下来就详细地学习一下自动机
自动机是有限状态机(FSM)的数学模型。

FSM 是给定符号输入,依据(可表达为一个表格的)转移函数“跳转”过一系列状态的一种机器。在常见的 FSM 的“Mealy”变体中,这个转移函数告诉自动机给定当前状态和当前字符的时候下一个状态是什么。

逐个读取输入中的符号,直到被完全耗尽(把它当作有一个字写在其上的磁带,通过自动机的读磁头来读取它;磁头在磁带上前行移动,一次读一个符号)。一旦输入被耗尽,自动机被称为“停止”了。

依赖自动机停止时的状态,称呼这个自动机要么是“接受”要么“拒绝”这个输入。如果停止于“接受状态”,则自动机“接受”了这个字。在另一方面,如果它停止于“拒绝状态”,则这个字被“拒绝”。自动机接受的所有字的集合被称为“这个自动机接受的语言”。

自动机 automaton 原来是模仿人和动物的行动而做成的机器人的意思。但是现已被抽象化为如下的机器。时间是离散的(t=0,1,2……),在每一个时刻它处于所存在的有限个内部状态中的一个。对每一个时刻给予有限个输入中的一个。那么下一个时刻的内部状态就由现在的输入和现在的内部状态所决定。每个时刻的输出只由那个时刻的内部状态所决定。

五、有限状态机的使用场景

有限状态机的写法,逻辑清晰,表达力强,有利于封装事件。一个对象的状态越多、发生的事件越多,就越适合采用有限状态机的写法。

http://www.yayakq.cn/news/28484/

相关文章:

  • 精准引流推广公司长春网站优化体验
  • 软件工程师薪资厦门seo招聘
  • 企业网站跟微信支付怎么做长治房产网站建设
  • 中山大兴网站建设拍摄宣传片
  • 建设网站经验wap网站制作教程
  • 做网站建设的技巧wordpress评论限速
  • 做网站和做软件哪个有发展中文命名网页制作素材会怎么样
  • 网站图片素材下载做诚信通谁给做网站
  • 国际贸易英文网站沭阳做网站公司排名前十
  • 南宁本地网站有哪些?没本钱一个月赚10万
  • 万户建站长春建站优化加徽信xiala5效果好
  • 闸北建设机械网站做教育网站用什么颜色
  • 深圳网站设计电话网站后台用户管理系统
  • 凡科建站怎么删除网站建设佛山seo技术
  • 怎么做网站的快照wordpress 网站打开速度慢
  • 百度一下百度搜索网站安装wordpress数据库500
  • 站长工具查询系统seo索引擎优化
  • 安陆市建设局网站手机网站知识
  • 网站群建设招标网站建设商标在哪个类别
  • 什么人做网站江苏省建设厅官方网站公式公告
  • 长春网络营销网站要怎么判断网站是什么cms做的
  • 济南伍际网站建设郑州网站优化工资
  • 网站便宜建设合肥网站建设 毅耘
  • 江苏网络公司网站建设足球比赛直播在线
  • 有哪些做的好看的网站吗用路由器建设网站
  • 网站建设明细费用张雪峰谈软件工程专业
  • 汽车行业网站设计做一个介绍网站多少钱
  • 一个网站如何创建多个页面建企业网站需要哪些资料
  • 网站建设的技术舒兰市城乡建设局网站
  • 网站黄金比例wordpress界面变宽