前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >脚撕LeetCode(709)Easy

脚撕LeetCode(709)Easy

作者头像
JathonKatu
发布2022-01-18 08:16:13
2220
发布2022-01-18 08:16:13
举报
文章被收录于专栏:JathonKatu

题目地址:https://leetcode-cn.com/problems/to-lower-case/

本来做完前面五道题就结束了,但是leetcode给我的又想发了周精彩推荐,一看很简单,就顺手刷了。

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

代码语言:javascript
复制
示例 1:
输入:s = "Hello" 
输出:"hello" 
示例 2:
输入:s = "here" 
输出:"here" 
示例 3:
输入:s = "LOVELY" 
输出:"lovely" 
提示:
1 <= s.length <= 100 
s 由 ASCII 字符集中的可打印字符组成

这道题的思路就是大写转小写,且字符串中只会有字母,返回纯小写,相当于重写String.toLowerCase

一、爆破法

我们的爆破法也很简单,判断是否为'A'-'Z',是的话就+32('A'-'a'=32),以此类推。

执行结果如下:

114 / 114 个通过测试用例

状态:通过

执行用时: 0 ms

内存消耗: 36.6 MB

代码语言:javascript
复制
public String toLowerCaseMe(String s) {
    char[] ans = s.toCharArray();
    for (int i = 0; i < ans.length; i++) {
        if(notLower(ans[i])) ans[i] = (char)(ans[i] + 32);
    }
    return new String(ans);
}
public boolean notLower(char c){
    // 'A' = 65  'Z' = 90
    return c < 91 && c > 64;
}

虽然时间是0ms 100%,但是内存还不到10%,很不理想。所以我们还是老规矩,评论区见

。。。。。。

但是评论区基本答案也跟我的结果差不多,有的甚至用了Character的api也没有比我高。

那么最后贴出最牛逼的答案

执行结果如下:

114 / 114 个通过测试用例

状态:通过

执行用时: 1 ms

内存消耗: 36.6 MB

代码语言:javascript
复制
public String toLowerCase(String str) {
    return str.toLowerCase();
}

虽然不厉害但是人家还是一行代码解决了啊[手动滑稽].jpg

这里我的时间和空间都比他好,说明我牛逼过Lee Boynton, Arthur van Hoff, Martin Buchholz, Ulf Zibis以上几位大佬,听懂掌声。[再次滑稽].jpg

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-06-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 JathonKatu 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档