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

中国网站建设代理项目快速提高排名

中国网站建设代理项目,快速提高排名,上海建网站公司排名,福田做网站多少钱1. 转换小写字母 LeetCode709:给你一个字符串s,将该字符串中的大写字母转换成相同的小写字母,返回新的字符串。 每个字母都是有确定的ASCII的,可以根据码表操作子字符串,常见的ASCII范围是: a-z: 97-122, …

1. 转换小写字母

LeetCode709:给你一个字符串s,将该字符串中的大写字母转换成相同的小写字母,返回新的字符串。

每个字母都是有确定的ASCII的,可以根据码表操作子字符串,常见的ASCII范围是:

a-z: 97-122, A-Z: 65-90, 0-9: 48-47

将大写字母转换为小写字母,只需在原来的ASCII基础上加上32即可

代码:

public static String toLowerCase(String s){int n = s.length();//将字符串转换为字符数组char[] chars = s.toCharArray();for (int i = 0; i < n; i++) {if (chars[i] >= 65 && chars[i] <= 90){chars[i] += 32;}}String str = new String(chars);return str;}

2. 字符串转换整数

LeetCode8. 本体的题目较长,看原文:

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

函数myAtoi的算法如下:

  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"(当前没有读入字符,因为这里不存在 '-' 或者 '+')^
第 3 步:"4193 with words"(读入 "4193";由于下一个字符不是一个数字,所以读入停止)^
解析得到整数 4193 。
由于 "4193" 在范围 [-231, 231 - 1] 内,最终结果为 4193 。

示例 4:

输入:s = "-9923762348723" 输出:-2147483648 解释: 第 1 步:"-9923762348723"(当前没有读入字符,因为没有前导空格) ^ 第 2 步:"-9923762348723"(读入 '-' 字符,所以结果应该是负数) ^ 第 3 步:"-9923762348723"(读入 9923762348723) ^ 解析得到整数 -9923762348723 。 由于 "-9923762348723" 小于范围 [-231, 231 - 1] 内,最终结果被截断为 -21474836483 。

如果看懂示例那么这个题目你基本上就会了,

几个要点:

  1. 根据示例1,要去掉前导空格,

  2. 根据示例2,有判断去掉空格后的第一个字符为+和-的情况,默认是+,用sign标识,初始化是1,遇到-号的时候,修正为-1.

  3. 判断是否是数字,用ASCII比较,'0' <= c <='9',0如果在前面要将其去掉。

  4. 根据示例3,在遇到不是数字的时候要停止,

  5. 根据示例4,要在循环内部判断最后是否超出int类型的范围,

注意事项:

1. (res == Integer.MAX_VALUE / 10 && (currchar - '0') > Integer.MAX_VALUE % 10)

        这段代码判断是最后一位,判断当前res再加1位,是否会越界

2. res = res * 10 + sign * (currchar - '0');

        代表每次都是带着符号相加,负号的话,每次相加都是负号

代码:

    public static int myAtoi(String str){int len = str.length();char[] charArray = str.toCharArray();//1.去掉空格int index = 0;while (index < len && charArray[index] == ' '){index++;}//2.如果已经遍历完成,针对极端(“  ”)全是空格if (index == len){return 0;}//3.如果出现符号字符,仅第一个有效,记录正负int sign = 1;char firstchar = charArray[index];if (firstchar == '+'){index++;} else if (firstchar == '-') {index++;sign = -1;}//4.将后面的字符进行转换,题目要求不能用long类型int res = 0;while (index < len){char currchar = charArray[index];//4.1 先判断不合法的情况if (currchar > '9' || currchar < '0'){break;}//判断越界情况//提前乘10,可能会直接越界,所以使用Integer.MAX_VALUE/10,这样一定不会越界//if后面的判断是最后一位,判断当前res再加1位,是否会越界if (res > Integer.MAX_VALUE / 10 || (res == Integer.MAX_VALUE / 10 && (currchar - '0') > Integer.MAX_VALUE % 10)){return Integer.MAX_VALUE;}if (res > Integer.MIN_VALUE / 10 || (res == Integer.MIN_VALUE / 10 && (currchar - '0') > Integer.MIN_VALUE % 10)){return Integer.MIN_VALUE;}//合法的情况,把每一步的符号都成进去,//想想为什么带着,sign乘,-‘0’是将字符转换为整数,带上sign乘代表每次都是带着符号相加,比如负数就所有负数相加res = res * 10 + sign * (currchar - '0');index++;}return res;}

http://www.zhongyajixie.com/news/2909.html

相关文章:

  • 资源网站怎么做免费推客推广平台
  • 北京协会网站建设cilimao磁力猫
  • 网站的背景图怎么做的深圳网络营销信息推荐
  • 校园网站系统建设需求谷歌seo工具
  • 赣州网站开发百度网址大全免费下载
  • Seo建设网站的步骤中国国家人事人才培训网
  • 广州做网站厉害的公司刷外链网站
  • 零基础1小时快速建站百度一下官方网
  • 网站论坛怎么建设搜索引擎推广的常见形式有
  • 河南信合建设投资集团有限公司网站谷歌搜索引擎下载
  • wordpress导航样式seo权重查询
  • 网站建设报价模块上海营销seo
  • 十堰h5网站建设温州网站建设开发
  • 大连手机自适应网站建设维护广告联盟广告点击一次多少钱
  • 重庆网站空间上海网络营销
  • b2c 网站开发白帽seo公司
  • 张家港做网站优化排名百度西安
  • 网站开发教育培训天津seo标准
  • 你做的网站可视区域多少钱贵阳百度快照优化排名
  • wordpress网站建小程序seo网络推广专员
  • 做箱包批发哪个网站好网络营销的优势有哪些
  • z blog与wordpress百度搜索引擎优化指南最新版
  • 做两个一摸一样的网站深圳网络运营推广公司
  • 免费网站建设价格费用谷歌 google
  • 南宁网站建设报价百度seo建议
  • 做网站用哪个服务器好营销技巧
  • 郑州天道做网站云南今日头条新闻
  • 电脑报网站建设搜索热度和搜索人气
  • 打开一个网站搜索页面跳转js最近的大新闻
  • 襄阳做网站的公司有哪些提高工作效率的重要性