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

恋爱网站建设浙江网站建设价格

恋爱网站建设,浙江网站建设价格,铜仁做网站的公司,安徽全过程网站搭建案例❝每天 3 分钟#xff0c;走上算法的逆袭之路。❞前文合集每日一道 LeetCode 前文合集代码仓库GitHub#xff1a;https://github.com/meteor1993/LeetCodeGitee#xff1a;https://gitee.com/inwsy/LeetCode题目#xff1a;最长回文子串难度#xff1a;「中等」题目来源走上算法的逆袭之路。❞前文合集每日一道 LeetCode 前文合集代码仓库GitHubhttps://github.com/meteor1993/LeetCodeGiteehttps://gitee.com/inwsy/LeetCode题目最长回文子串难度「中等」题目来源https://leetcode-cn.com/problems/string-to-integer-atoi/请你来实现一个 atoi 函数使其能将字符串转换成整数。首先该函数会根据需要丢弃无用的开头空格字符直到寻找到第一个非空格的字符为止。接下来的转化规则如下如果第一个非空字符为正或者负号时则将该符号与之后面尽可能多的连续数字字符组合起来形成一个有符号整数。假如第一个非空字符是数字则直接将其与之后连续的数字字符组合起来形成一个整数。该字符串在有效的整数部分之后也可能会存在多余的字符那么这些字符可以被忽略它们对函数不应该造成影响。注意假如该字符串中的第一个非空格字符不是一个有效整数字符、字符串为空或字符串仅包含空白字符时则你的函数不需要进行转换即无法进行有效转换。在任何情况下若函数不能进行有效的转换时请返回 0 。提示本题中的空白字符只包括空格字符 。假设我们的环境只能存储 32 位大小的有符号整数那么其数值范围为 [−2^31,  2^31 − 1]。如果数值超过这个范围请返回  INT_MAX (2^31 − 1) 或 INT_MIN (−2^31) 。示例 1:输入: 42输出: 42示例 2:输入:    -42输出: -42解释: 第一个非空白字符为 -, 它是一个负号。     我们尽可能将负号与后面所有连续出现的数字组合起来最后得到 -42 。示例 3:输入: 4193 with words输出: 4193解释: 转换截止于数字 3 因为它的下一个字符不为数字。示例 4:输入: words and 987输出: 0解释: 第一个非空字符是 w, 但它不是数字或正、负号。     因此无法执行有效的转换。示例 5:输入: -91283472332输出: -2147483648解释: 数字 -91283472332 超过 32 位有符号整数范围。      因此返回 INT_MIN (−231) 。解题方案有限状态机这道题单纯的做出来并不是很难纯暴力的解法肯定搞得定除了逻辑复杂一点判断多一点各种 flag 多立几个做肯定是做得出来的。这道题的难度定成中等肯定不是要我们用暴力解法把它解出来的不然没必要搞成中等难度简单难度就够了除了逻辑复杂点这种方案找不到任何难点这不符合力扣的尿性一定有我不知道的解法。果然在答案中我看到了一个新名词叫做「状态机」。状态机的基本定义状态机是有限状态自动机的简称是现实事物运行规则抽象而成的一个数学模型。状态机里面有 4 个概念第一个是 State 状态。一个状态机至少要包含两个状态。第二个是 Event 事件。事件就是执行某个操作的触发条件或者口令。第三个是 Action 动作。事件发生以后要执行动作。第四个是 Transition 变换。也就是从一个状态变化为另一个状态。套到这道题里就是我们的程序在每个时刻有一个状态 s 每次从序列中输入一个字符 c 并根据字符 c 转移到下一个状态 s 。这样我们只需要建立一个覆盖所有情况的从 s 与 c 映射到 s 的表格即可解决题目中的问题。答案中给出的示例图是这样的/-numberotherstartstartsignedin_numberendsignedendendin_numberendin_numberendendin_numberendendendendendend接下来就是把这一个构件的状态机写成代码public class Automaton {    // 正负    public int sign  1;    // 数值    public long ans  0;    private String state  start;    private Map table  new HashMap() {{        put(start, new String[]{start, signed, in_number, end});        put(signed, new String[]{end, end, in_number, end});        put(in_number, new String[]{end, end, in_number, end});        put(end, new String[]{end, end, end, end});    }};public void get(char c) {        state  table.get(state)[get_col(c)];if (in_number.equals(state)) {            ans  ans * 10  c - 0;            ans  sign  1 ? Math.min(ans, (long) Integer.MAX_VALUE) : Math.min(ans, -(long) Integer.MIN_VALUE);        } else if (signed.equals(state)){            sign  c   ? 1 : -1;        }    }private int get_col(char c) {if (c   ) {return 0;        }if (c   || c  -) {return 1;        }if (Character.isDigit(c)) {return 2;        }return 3;    }}然后我们在主方法里面调用这个状态机public int myAtoi(String str) {    Automaton automaton  new Automaton();    char[] c  str.toCharArray();    for (int i  0; i         automaton.get(c[i]);    }    return (int) (automaton.sign * automaton.ans);}参考https://zhuanlan.zhihu.com/p/47434856感谢阅读
http://www.sadfv.cn/news/150278/

相关文章:

  • 手机支付网站开发dw怎么做秋季运动会网站
  • 模板 网站 教程seo站内优化站外优化
  • 安卓手机怎么制作网站网站开发开票内容
  • mvc 5 做网站的教程技术支持 合肥网站建设
  • OA网站建设分析七牛镜像存储 wordpress 插件
  • 网站建设怎么办长春网站建设流程
  • 做直播网站要什么证吗体育网站建设需求
  • 厦门路桥建设集团有限公司网站免费域名注册哪个网站好
  • 什么是网站跳出率家庭装修设计平台
  • 深圳建设网站上市想建个企业网站
  • 环保厅网站建设的必要性进口全屋定制十大名牌
  • 怎么建立自己公司的网站交通建设集团蓝商分公司网站
  • 做英文网站有用吗企业网络营销的优势
  • 网站制作案例如何网站商城是用什么框架做的
  • 河津做网站网站文章更新要求
  • 厦门企业官方网站建设东莞网站到首页排名
  • 天河微网站建设wordpress有插件
  • 徐州网站优化价格什么是域名
  • 好设计购物网站软件工程师证书报考条件
  • 设计 网站访问次数做网站的热门行业
  • 专门做家具网站网页设计师都在什么网站上面找素材
  • 如何做公司网站网页上海市住房和城乡建设部官方网站
  • 石家庄视频网站建设公司我要用新浪云做网站
  • 网站导航网站开发建设银行的英语网站首页
  • 建网站需要多长时间wordpress仿付费主题主题
  • 竞猜网站开发多少钱电商网站建设规划开发方案
  • 北京网站制作开发公司企业网站建设优化策划
  • 电子商务网站开发开发背景广州建设网站的公司哪家好
  • 北京南站到北京站网上花店网页制作教程
  • 西安的网站建设网站工程和网络工程有什么区别