LintCode笔记 - 145.大小写转换 - 极简之道 - 最短代码
2024-10-09 07:43:59
这道题目一眼就能看出是送分题,当然在这里也不谈高难度的实现逻辑,肯定有同学会想直接用自带函数实现不就可以了吗?
对的,就是这么简单,然而今天的重点是如何把代码简写到最短。
本文章将带你把代码长度从
一步步走到
Let's get started
首先要说明的是LintCode的代码长度是按照每一个位来计算的,因此代码中所有的空格,备注,换行等都会占用长度
首先初始化代码窗口是这样的
/**
* @param character: a character
* @return: a character
*/
const lowercaseToUppercase = function (character) {
// write your code here
}
总长度为:184/100%/0%
我们先去掉无意义的注释并写入代码
return character.toUpperCase();//String对象的toUpperCase将字母由小变大
然后就变成这样
const lowercaseToUppercase = function (character) {
return character.toUpperCase();
}总长度为:89/47.08%/52.92%
总长度为:89/47.08%/52.92%
咱再挤挤就变成这样
const lowercaseToUppercase=function(character){return character.toUpperCase()}
总长度为:78/41.26%/12.37%
里面的"character"是不是也无关紧要呢?咱再压一下
const lowercaseToUppercase=function(a){return a.toUpperCase()}
总长度为:62/32.8%/20.51%
终于到了62,但是好像已经没办法再压缩了吧!
小伙伴可以先思考一下
.
.
.
其实还是可以继续压缩的,这里就教大家一个知识点:箭头函数
什么是箭头函数呢?引用廖雪峰老师文章对箭头函数的定义:
ES6标准新增了一种新的函数:Arrow Function(箭头函数)。
为什么叫Arrow Function?因为它的定义用的就是一个箭头
介绍有点简单,但是它却帮了大忙,它的实现是这样的
x => x * x
注意:完全等价于
function(x){return x*x}
这个代码跟题目是不是十分相似
然后咱们再套入到公式就可以发现
const lowercaseToUppercase=a=>a.toUpperCase();
总长度为:46/24.33%/25.83%
代码被再一次同等压缩率的压缩了,是不是满满的成就感呢?
剩下的1长度交给你们了:
//如果觉得讲的还行,感谢推荐+关注+在下方评论哦
//还有别跑去和我抢位置啦[捂脸笑]
//博主不定期更新一些文章
总长度为:45/23.8%/2.18%
最新文章
- Linux下安装搭建WordPress网站
- DNS拦截的处理
- 重构10-Extract Method(提取方法)
- 深入理解JavaScript中的this关键字
- Android如何在ListView中嵌套ListView
- 类似的微博推断客户关系sql声明
- hdu2846 Repository 字典树(好题)
- SrpingBoot部署到云服务器
- .net工具基础
- RabbitMQ中客户端的Channel类里各方法释义
- 185. [USACO Oct08] 挖水井
- Java基础-对象的内存分配与初始化(一定要明白的干货)
- jmeter3.0下载及安装
- Rpc简单入门
- file_put_contents () failed to open stream: Permission denied 解决办法
- kettle杂记
- RNN知识点
- python中string和十六进制、二进制互转
- php实现函数可变参数列表
- 《JavaWeb从入门到改行》多重外键关系在java中的处理方案
热门文章
- react使用Echarts绘制高亮可点击选中的省市地图
- win10系统无法删除文件的解决方法
- DedeCms 标签中channelartlist设置属性标签样式的方法
- kafka全部数据清空
- ca74a_c++__文件流对象的使用-用来读写文件ifstream
- matplotlib 强化学习
- Hystrix Stream的监控页面不显示内容
- Skywalking的存储配置与调优
- JavaWeb网上图书商城完整项目--day02-16.登录功能各层实现
- 3、尚硅谷_SSM高级整合_使用ajax操作实现删除的功能