这道题目一眼就能看出是送分题,当然在这里也不谈高难度的实现逻辑,肯定有同学会想直接用自带函数实现不就可以了吗?

对的,就是这么简单,然而今天的重点是如何把代码简写到最短。

本文章将带你把代码长度从

一步步走到

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%
 

最新文章

  1. Linux下安装搭建WordPress网站
  2. DNS拦截的处理
  3. 重构10-Extract Method(提取方法)
  4. 深入理解JavaScript中的this关键字
  5. Android如何在ListView中嵌套ListView
  6. 类似的微博推断客户关系sql声明
  7. hdu2846 Repository 字典树(好题)
  8. SrpingBoot部署到云服务器
  9. .net工具基础
  10. RabbitMQ中客户端的Channel类里各方法释义
  11. 185. [USACO Oct08] 挖水井
  12. Java基础-对象的内存分配与初始化(一定要明白的干货)
  13. jmeter3.0下载及安装
  14. Rpc简单入门
  15. file_put_contents () failed to open stream: Permission denied 解决办法
  16. kettle杂记
  17. RNN知识点
  18. python中string和十六进制、二进制互转
  19. php实现函数可变参数列表
  20. 《JavaWeb从入门到改行》多重外键关系在java中的处理方案

热门文章

  1. react使用Echarts绘制高亮可点击选中的省市地图
  2. win10系统无法删除文件的解决方法
  3. DedeCms 标签中channelartlist设置属性标签样式的方法
  4. kafka全部数据清空
  5. ca74a_c++__文件流对象的使用-用来读写文件ifstream
  6. matplotlib 强化学习
  7. Hystrix Stream的监控页面不显示内容
  8. Skywalking的存储配置与调优
  9. JavaWeb网上图书商城完整项目--day02-16.登录功能各层实现
  10. 3、尚硅谷_SSM高级整合_使用ajax操作实现删除的功能