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

php网站建设教程 电子书胶南网站建设

php网站建设教程 电子书,胶南网站建设,python网站开发流程,百度游戏【剑指offer-C】JZ20#xff1a;表示数值的字符串题目描述解题思路题目描述 描述#xff1a;请实现一个函数用来判断字符串str是否表示数值#xff08;包括科学计数法的数字#xff0c;小数和整数#xff09;。 科学计数法的数字(按顺序#xff09;可以分成以下几个部分… 【剑指offer-C】JZ20表示数值的字符串题目描述解题思路题目描述 描述请实现一个函数用来判断字符串str是否表示数值包括科学计数法的数字小数和整数。 科学计数法的数字(按顺序可以分成以下几个部分: 1.若干空格 2.一个整数或者小数 3.可选一个 ‘e’ 或 ‘E’ 后面跟着一个整数(可正可负) 4.若干空格 小数按顺序可以分成以下几个部分 1.若干空格 2.可选一个符号字符‘’ 或 ‘-’ 3. 可能是以下描述格式之一: 3.1 至少一位数字后面跟着一个点 ‘.’ 3.2 至少一位数字后面跟着一个点 ‘.’ 后面再跟着至少一位数字 3.3 一个点 ‘.’ 后面跟着至少一位数字 4.若干空格 整数按顺序可以分成以下几个部分 1.若干空格 2.可选一个符号字符‘’ 或 ‘-’) 3. 至少一位数字 4.若干空格 例如字符串[“100”,“5e2”,“-123”,“3.1416”,“-1E-16”]都表示数值。 但是[“12e”,“1a3.14”,“1.2.3”,“±5”,“12e4.3”]都不是数值。 提示: 1.1 str.length 25 2.str 仅含英文字母大写和小写数字0-9加号 ‘’ 减号 ‘-’ 空格 ’ ’ 或者点 ‘.’ 3.如果怀疑用例是不是能表示为数值的可以使用python的print(float(str))去查看 进阶时间复杂度O(n) 空间复杂度O(n) 。 输入123.45e6 返回值true输入1.2.3 返回值false输入. 返回值false输入 .2 返回值true解题思路 表示数值的字符串最直观的想法是判断是否可以将字符串str转换为浮点数float此处可以调用python中的内置函数float如果发现异常则返回false否则返回true。注意虽然C中的stof函数也能够把字符串转换成浮点数但是其是读取到不满足即停止比如字符串1.2.3stof会将其转换为1.2但实际上整体是不能转换的。注意python代码注意缩进。 def isNumeric(self , str: str) - bool:try:float(str)except:return Falsereturn True正则匹配其实该题描述数字、空格、字母、正负号等非常适合正则匹配但是使用正则匹配需要对正则比较熟练。 ^匹配行开头 $匹配行结尾 . 除换行的任意字符 []匹配[]中的任意一个字符 ()设定分组有几个()就有几个相应的匹配字符串 \d数字 \D\d取反 \w字母数字下划线 \W\w取反 \s空格 \S\s取反 *前面元素重复0次或者多次 前面元素重复1次或者多次 ?前面元素重复0次或者1次 \\ |逻辑或 {n}前面元素重复n次 {n,}前面元素重复至少n次 {n,m}前面元素重复至少n次至多m次 #includeregex //导入库 regex pattern(……); //模式串 smatch result; //匹配结果 bool retregex_match(str,result,pattern); //正则匹配bool isNumeric(string str) {//\\s*表示若干空格//[-]?表示正负号可选//(\\d|\\d\\.\\d*|\\.\\d)表示整数或小数部分//([eE][-]?\\d)表示整数部分//\\s*表示若干空格regex pattern(\\s*[-]?(\\d|\\d\\.\\d*|\\.\\d)([eE][-]?\\d)?\\s*);return regex_match(str,pattern); }常规判断符合大多数人直觉的解法还是枚举法枚举各种情况遍历每一个字符然后根据各种可能的情况进行标记。使用布尔变量isNum标记之前是否出现过数字使用布尔变量isDot标记之前是否出现过小数点使用布尔变量isE标记之前是否出现过e或者E三个变量均初始化为False。如果当前字符为数字则标记遇到数字如果当前字符为小数点则需要判断小数点之前不能出现小数点或者e或者E如果当前字符为e或者E则需要判断其前面必须要出现过数字并且不能出现e或者E同时后面可以出现数字如果当前字符为正负号则其必须是第一个非空白位置或者是e或者E后面的第一个位置。如果上述满足那么根据isNum是真还是假来返回。 remove(beg,end,value); //移除区间(beg,end)中每一个“与value相等”的元素 str.erase(remove(str.begin(),str.end(), ),str.end()); //删除字符串str两边的空格bool isNumeric(string str) {bool isNumfalse,isDotfalse,isEfalse;//删除字符串str两边的空格str.erase(remove(str.begin(),str.end(), ),str.end());//coutstrendl;//coutstr.size()endl;for(int i0;istr.size();i){if(str[i]0str[i]9) //标记数字isNumtrue;else if(str[i].) //遇到小数点{if(isDot||isE) //判断合法性return false;isDottrue; //标记小数点}else if(str[i]e||str[i]E) //遇到e/E{if(!isNum||isE) //判断合法性return false;isEtrue; //标记e/EisNumfalse; //后面可以出现数字}else if(str[i]||str[i]-){if(i!0str[i-1]!estr[i-1]!E)return false;}else //不合法字符{ return false;}}return isNum; }
http://www.dnsts.com.cn/news/219893.html

相关文章:

  • 鹿泉网站建设建立化妆品网站功能
  • mp3网站源码小程序api是什么
  • 网站建设一般好久到期做电脑租赁网站
  • 泊头在哪做网站比较好广告投放媒体
  • 建站网站教程视频wordpress 图片云存储
  • 广州市住房建设公租房网站石狮网站建设价格
  • 网站引导页的作用上海传媒公司李健
  • 电信宽带做网站服务器吗青岛做网站排名
  • 防水自己如何建设网站网站动态页面怎么做
  • 房产网站案例建设部造价工程师考试网站
  • 南宁网站建设怎样建立一个好网站wordpress做管理网站
  • 沭阳建设局网站seo公司电信上海百首网络
  • 《php网站开发》电子课件wordpress 如何制作模板
  • 设计师做帆布包网站织梦cms下载
  • 网上有哪些购物网站山西专业网站建设大全
  • 用vs做网站表格向上居中电子商务网站开发与应用论文
  • 高端网站建设北京电子商务网站建设哪好
  • 连云港做网站制作首选公司运营网站费用
  • 设计网站公司 露 联湖南岚鸿广东美食网页怎么制作
  • 做网站建设的技巧东软实训网站开发
  • 网站建设网络推广公司大型网站设计首页实例
  • 怎么制作自己的网页网站首页包装公司网站模板下载
  • 公司网站建设费用计入什么科目网站做等保是什么意思
  • 咸宁网站设计极客学院wordpress
  • 盐城网站建设策划方案莱芜招聘信息最新招聘2022
  • 做慧聪网站多少钱公司官网查询
  • 福安网站建设查企业的网站有哪些
  • 怎样做网站能百度能搜到网站建设淘宝客模板
  • 公司网站做一年多少钱织梦多个网站
  • 织梦dede网站后台被挂黑链怎么办动漫制作软件