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

网站开发待遇如何文化书院网站建设方案

网站开发待遇如何,文化书院网站建设方案,微信电商小程序开发公司,网站开发过程中的功能需求分析前言 字符串是我们在日常开发中最常处理的数据#xff0c;虽然它本身不是一种数据结构#xff0c;但是由于其可以包含所有信息#xff0c;所以通常作为数据的一种形式出现#xff0c;由于不同语言创建和管理字符串的方式也各有差异#xff0c;因此针对不同语言特征又产生…前言 字符串是我们在日常开发中最常处理的数据虽然它本身不是一种数据结构但是由于其可以包含所有信息所以通常作为数据的一种形式出现由于不同语言创建和管理字符串的方式也各有差异因此针对不同语言特征又产生了很多问题。 常见的字符串转换题目也就是在大小写字母、数字、特殊字符这几种类型之间进行。但是在转换过程中需要处理几种特殊情况比如当前元素能否进行转换如果是字符串转换为数字还要考虑当前元素是不是数字转换之后是否会溢出等。 1.转换成小写字母 力扣709题给你一个字符串 s 将该字符串中的大写字母转换成相同的小写字母返回新的字符串。 分析在计算机中每个字符都有相应的ASCII码。我们可以根据码表操作字符串常见的ASCII码范围 0-9 48-57 A-Z 65-90 a-z 97-122遍历整个字符串对每一位字符串加以判断如果字符串的编码值在65-90之间就需要在原来了的ASCII值上利用按位或运算| 32就可以转换为对应小写。 代码如下 // 使用内置函数 function toLowerCase(s) {return s.toLowerCase(); }// 自行实现 let toLowerCase function (s) {const res [];for (let charOfWord of s) {if (charOfWord.charCodeAt() 65 charOfWord.charCodeAt() 90) {// 使用按位或位运算表示加法charOfWord String.fromCharCode(charOfWord.charCodeAt() | 32);}res.push(charOfWord);}return res.join(); }; 2.字符串转换为整数atoi 力扣8题请你来实现一个 myAtoi(string s) 函数使其能将字符串转换成一个 32 位有符号整数类似 C/C 中的 atoi 函数。 函数 myAtoi(string s) 的算法如下 读入字符串并丢弃无用的前导空格检查下一个字符假设还未到字符末尾为正还是负号读取该字符如果有。 确定最终结果是负数还是正数。 如果两者都不存在则假定结果为正。读入下一个字符直到到达下一个非数字字符或到达输入的结尾。字符串的其余部分将被忽略。将前面步骤读入的这些数字转换为整数即“123” - 123 “0032” - 32。如果没有读入数字则整数为 0 。必要时更改符号从步骤 2 开始。如果整数数超过 32 位有符号整数范围 [−231, 231 − 1] 需要截断这个整数使其保持在这个范围内。具体来说小于 −231 的整数应该被固定为 −231 大于 231 − 1 的整数应该被固定为 231 − 1 。返回整数作为最终结果。 注意 本题中的空白字符只包括空格字符 。除前导空格或数字后的其余字符串外请勿忽略 任何其他字符。 分析 参考Gatsby/力扣官方 这里用到了自动机的解法用图来表示 用表格来表示 ’ (空格)/-Number其它startstartsignedin_numberendsignedendendin_numberendin_numberendendin_numberendendendendendend 代码如下 /*** param {string} s* return {number}*/ var myAtoi function(s) {// 自动机类class Automaton {constructor() {// 执行阶段默认是开始阶段this.state start;// 正负符号默认是正数this.sign 1;// 数值默认是0this.answer 0;/*关键点状态和执行的阶段的对应表含义[执行阶段, [空格], [正负号], [数值], [其它]]*/this.map new Map([[start,[start, signed, in_number, end]],[signed, [end, end, in_number, end]],[in_number, [end, end, in_number, end]],[end, [end, end, end, end]],]);}// 获取状态的索引getIndex(char) {if (char ) {return 0;} else if (char - || char ) {return 1;} else if (isNumeric(char)) {return 2;} else {return 3;}}/*关键点字符转换执行函数*/get(char) {const MIN_VALUE -Math.pow(-2, 31);const MAX_VALUE Math.pow(2, 31) - 1;/*易错点每次传入字符都要变更自动机的执行阶段*/this.state this.map.get(this.state)[this.getIndex(char)];if (this.state in_number) {/*小技巧在JS中对字符串类型做减法操作可以得到一个数值型Number的值易错点本处需要利用括号来提高四则运算的优先级*/this.answer this.answer * 10 (char - 0);// 易错点在进行负数比较时需要将INT_MIN变为正数this.answer (this.sign 1 ? Math.min(this.answer, MAX_VALUE) : Math.min(this.answer, MIN_VALUE));} else if (this.state signed) {/*优化点对于一个整数来说非正即负所以正负号的判断只需要一次。所以可以降低其判断的优先级*/this.sign (char ? 1 : -1);}}}// 判断传进来的字符串是不是数字function isNumeric(s) {return /^-?\d(\.\d)?$/.test(s);}// 生成自动机实例let automaton new Automaton();// 遍历每个字符for (let char of s) {// 依次进行转换automaton.get(char);}// 返回值整数 正负 * 数值return automaton.sign * automaton.answer; };在判断传入的字符是不是数字时最好用正则表达式来判断这样比较准确。 用typeof Number(char) number和!isNaN(char)都不太合理 typeof Number(char) number: 这部分判断使用了typeof操作符它会将Number(char)的结果判定为number。然而Number(char)在转换无法转换为有效数字的字符串时会返回NaN而typeof NaN也是number因此这部分判断并不能准确地判断传入的字符串是否是一个有效的数字。!isNaN(char): 这部分判断使用了isNaN函数它用于检查一个值是否为NaN。然而isNaN函数在判断非数字类型的值时也会返回false比如空字符串、布尔值、对象等。这也就意味着如果传入的是非数字但却不是NaN的值这部分判断同样会得出错误的结论。
http://www.zqtcl.cn/news/663563/

相关文章:

  • 网站建设和维护要点网站建设完提交百度
  • app开发人员网站上海保洁服务网站建设
  • 周口网站制作公司哪家好苏州高新区住建局官网
  • 建设特效网站自助网站建设系统
  • 用软件做的网站权限管理如何让自己的网站被百度收录
  • 简历做的很棒的网站杭州公司网站建设电话
  • 购买腾讯云主机可以直接做网站舒兰网站建设
  • 环保主题静态网站php 手机网站源码
  • 做网站找哪家好要钱吗小程序开发合同
  • 速成美站东莞网站建设 包装材料
  • 丹阳网站建设案例自己做个网站怎么赚钱
  • 净水机企业网站源码浏览器下载安装2022最新版
  • 高端网站建设四川网页版微信怎么下载
  • 青岛做网站皆赴青岛博采wordpress怎么改密码忘记
  • 深圳最好的网站建设广西论坛网站建设
  • html5网站设计网站建设 广西
  • 顺德手机网站设计价位网站开发学习流程图
  • 班级网站设计合肥蜀山网站开发
  • 杭州网站建设培训ck播放器整合WordPress
  • 网站建设是什么软件品牌策划公司哪家好推荐
  • 网站转跳怎么做餐饮vi设计
  • 刘连康seo培训哪家强网站优化推广平台
  • 网站推广内容滁州做网站的
  • 黄山做网站公司山东省住房和城乡建设厅举报电话
  • 中医科网站建设素材上海文明城市建设网站
  • html课程教学网站模板手机微信小程序开发教程
  • 用电脑做兼职的网站比较好食品网站建设网站定制开发
  • 网站开发 加密保护小程序制作开发进度表
  • 深圳坪山站外贸展示型网站建设
  • 手机端自定义做链接网站济南网站制作方案