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

简述网站制作的流程网站在线设计

简述网站制作的流程,网站在线设计,wordpress不同页面布局,山东省专业群建设网站作者#xff1a;翟天保Steven 版权声明#xff1a;著作权归作者所有#xff0c;商业转载请联系作者获得授权#xff0c;非商业转载请注明出处 题目描述#xff1a; 写一个函数 StrToInt#xff0c;实现把字符串转换成整数这个功能。不能使用 atoi 或者其他类似的库函数。…作者翟天保Steven 版权声明著作权归作者所有商业转载请联系作者获得授权非商业转载请注明出处 题目描述 写一个函数 StrToInt实现把字符串转换成整数这个功能。不能使用 atoi 或者其他类似的库函数。传入的字符串可能有以下部分组成: 1.若干空格 2.可选一个符号字符 或 - 3. 数字字母符号空格组成的字符串表达式 4. 若干空格 转换算法如下:1.去掉无用的前导空格2.第一个非空字符为或者-号时作为该整数的正负号如果没有符号默认为正数3.判断整数的有效部分3.1 确定符号位之后与之后面尽可能多的连续数字组合起来成为有效整数数字如果没有有效的整数部分那么直接返回03.2 将字符串前面的整数部分取出后面可能会存在存在多余的字符(字母符号空格等)这些字符可以被忽略它们对于函数不应该造成影响3.3  整数超过 32 位有符号整数范围 [−231,  231 − 1] 需要截断这个整数使其保持在这个范围内。具体来说小于 −231的整数应该被调整为 −231 大于 231 − 1 的整数应该被调整为 231 − 14.去掉无用的后导空格 数据范围: 1.0 字符串长度 100 2.字符串由英文字母大写和小写、数字0-9、 、、- 和 . 组成 示例 输入 4396 clearlove返回值 4396说明 6后面的字符不属于有效的整数部分去除但是返回前面提取的有效部分 解题思路 本题考察算法场景模拟。两种解题思路。 1遍历法 首先过滤前置空格再判断正负号之后判断连续数字过程中注意正负极限判断每找到一个新数字就把之前的数字*10再累加上去遍历完即可得到答案。复杂度O(n)。 2状态机 基于状态转移矩阵对字符串遍历过程的状态进行分析。 状态分为4种空格、符号、数字和无效对应0123根据题目条件设立矩阵如下 起始状态为0分析第一行如果碰到空格那下一个状态还是0如果碰到符号则状态转为1如果碰到数字则状态转为2如果碰到无效字符状态转为3。假设状态转为1分析第二行如果碰到空格即空格则无效因此第二行第一列为3如果又碰到符号例如-也无效所以第二行第二列为3如果碰到数字例如-3则状态转为2碰到无效字符状态转为3。假设状态转为2分析第三行如果碰到空格例如8空格或者8空格后续均无效因此第三行第一列为3如果碰到符号例如8或者8后续也是均无效因此第三行第二列为3如果碰到数字例如89或者89则后续是有效的因此第三行第三列为2无效字符同理无效。当状态为2时对数字进行累加和越界判断当状态为3时break退出即可。 总的来说状态机就是基于题目要求将可能发生的情形和状态的转变以矩阵形式表示进而解题。复杂度O(n)。 测试代码 1遍历法 #include climits class Solution { public:// 字符串转为整数int StrToInt(string s) {int sign 1;int idx 0;int size int(s.size());// 前空格过滤过滤完如果没有后续则退出while(idx size){if(s[idx] )idx;elsebreak;}if(idx size)return 0;// 判断符号如果没有后续则退出if(s[idx] )idx;else if(s[idx] -){idx;sign -1;}if(idx size)return 0;// 继续遍历寻找目标数字int result 0;while(idx size){// 遇到非数字退出if(s[idx] 0 || s[idx] 9)break;// 判断极限if(result INT_MAX / 10 || (result INT_MAX / 10 (s[idx] - 0) (INT_MAX % 10)))return INT_MAX;if(result INT_MIN / 10 || (result INT_MIN / 10 (s[idx] - 0) -(INT_MIN % 10)))return INT_MIN;// 字符转为数字result result * 10 sign * (s[idx] - 0);idx;}return result;} }; 2状态机 class Solution { public:// 字符串转为整数int StrToInt(string s) {// 状态转移矩阵vectorvectorint states {{0,1,2,3},{3,3,2,3},{3,3,2,3},}; // 定义long result 0;long top INT_MAX; long bottom INT_MIN;int sign 1;int size int(s.length());// 状态从0开始int state 0; for(int i 0; i size; i){// 空格if(s[i] ){state states[state][0]; }// 正负号 else if(s[i] - || s[i] ){ state states[state][1]; if(state 1){sign (s[i] -) ? -1 : 1;} }// 数字else if(s[i] 0 s[i] 9){state states[state][2]; } // 非法字符else{state states[state][3]; }// 状态为2时表明在连续数字状态进行数字累加if(state 2){// 数字相加result result * 10 s[i] - 0; // 越界处理result (sign 1) ? min(result, top) : min(result, -bottom); }// 状态为3时说明后续无效退出即可else if(state 3)break;}return (int)sign * result;} };
http://www.hkea.cn/news/14481098/

相关文章:

  • 充电网站建设方案宁波seo优势
  • 莱芜网站建设流程研究院网站建设的内容
  • 做网站中心弹幕网站开发难么
  • 做的时间长的网站制作公司哪家好综合网页设计
  • 网站开发常遇到的问题有哪些怎么做网站多少钱
  • 网站建设与网页制作模拟试题制作壁纸的软件
  • 蒲城网站建设上海企业响应式网站建设推荐
  • 汽车网站建设分析报告哪个做网站平台好
  • 烟台网站定制排名网站app怎么制作教程
  • 美容医疗手机网站模板wordpress 主题够买
  • 比较好的网站开发公司电话珠海视窗网
  • 用自己的手机做网站wordpress 性能分析
  • 网站建设的出发点wordpress 木马 查
  • 电脑店免费建站wordpress分享缩略图不显示图片
  • 重庆网站建设的价格商城式网站具备哪些功能吗
  • 案列网站意识形态 加强网站建设
  • 石家庄网站设计网站维护网站后台访问权限设置
  • 官方网站后台怎样做超链接手机网站开发介绍
  • 开发网站开发工程师招聘常德百度推广
  • 郑州做网站费用常德做网站专业公司哪家好
  • 第一代网站建设技术阿里云wordpress安装
  • 中色十二冶金建设有限公司网站怎样在百度打广告
  • 网站建设三折页塘沽做网站公司
  • iis网站301重定向免费 网站 平台
  • 吉林省高等级公路建设局 网站链接缩短生成器
  • 网站设置301重定向广州手机网站
  • 金色财经网站开发产品推广运营的公司
  • 制作网站站用的软件下载东莞好的网页设计培训试听
  • 青岛模板建站房产类网站开发
  • 做外贸网站进行销售 需要纳税吗网站后台如何设计