文章目录

  • codewars-js练习
    • 2021/5/6
      • github 地址
      • 【1】<7kyu>【Greatest common divisor】
    • 2021/5/7
      • 【1】<7kyu>【Sum of Triangular Numbers】
    • 2021/5/8
      • 【1】<7kyu>【Invisible cubes】
      • 【2】<6kyu>【Arabian String】
    • 2021/5/9
      • 【1】<8kyu>【What's the real floor?】
    • 2021/5/10
      • 【1】<8kyu>【Multiplication table for number】
    • 2021/5/26
      • 【1】<8kyu>【Gravity Flip】

codewars-js练习

2021/5/6

github 地址

my github地址,上面有做的习题记录,不断更新…

【1】<7kyu>【Greatest common divisor】

求两个正整数的最大公约数。整数可以很大,所以你需要找到一个聪明的解决方案。

example

mygcd(30,12),6)
(mygcd(8,9),1)
(mygcd(1,1),1)

思路
一开始采用了简单粗暴的方式(代码如下),然后时间超时。

function mygcd(x,y){var i = Math.min(x,y);var temp = [];if(x==1&y==1)return 1;while(i>=1){if(x % i ==0 & y % i ==0)return i;i--;}}

后来采用了下面这种辗转相除的方法,就通过了。
solution

<script type="text/javascript">// 辗转相除法function mygcd(a, b) {if (b === 0) {return a;}return mygcd(b, a % b);};// 验证console.log(mygcd(30,12));//6console.log(mygcd(8,9));//1console.log(mygcd(1,1));//1
</script>

原理:
如果有两个数a和b,b如果为0,那么a和b的最大公约数一定是a。那么就想尽办法让它出现0的情况。

2021/5/7

【1】<7kyu>【Sum of Triangular Numbers】

你的任务是返回包括第n个三角形数在内的所有三角形数的和。

example

[01]
02 [03]
04 05 [06]
07 08 09 [10]
11 12 13 14 [15]
16 17 18 19 20 [21]
If 4 is given: 1 + 3 + 6 + 10 = 20.

solution

<script type="text/javascript">function sumTriangularNumbers(n) {if(n<0)return 0;let sum =0;for(let i=1;i<n+1;i++){sum += (i*i + i)/2;}return sum;}// 验证console.log(sumTriangularNumbers(6));// 56console.log(sumTriangularNumbers(34));//7140console.log(sumTriangularNumbers(-291));// 0console.log(sumTriangularNumbers(943));//140205240console.log(sumTriangularNumbers(-971));// 0
</script>

2021/5/8

【1】<7kyu>【Invisible cubes】

example

0// 0
1//0
2//0
3//1
5//27

solution

<script type="text/javascript">function notVisibleCubes(n) {// console.log(n)return Math.max(0, (n-2)**3);}
</script>

【2】<6kyu>【Arabian String】

你必须创建一个可以将字符串从任何格式转换为PascalCase的方法。这也必须支持符号。

example

"example name" --> "ExampleName"
"your-NaMe-here" --> "YourNameHere"
"testing ABC" --> "TestingAbc"

solution

<script type="text/javascript">function camelize(str){if(str.match(/[a-z0-9]+/gi) == null) return ''return str.match(/[a-z0-9]+/gi).map(function(s) {return s[0].toUpperCase() + s.substr(1).toLowerCase()}).join('')}// 验证console.log(camelize("java script"));//"JavaScript" console.log(camelize("cODE warS"));//"CodeWars" console.log(camelize("your-NaMe-here"));//"YourNameHere"
</script>

2021/5/9

【1】<8kyu>【What’s the real floor?】

写一个函数,在美国系统中给定的楼层返回在欧洲系统中的楼层。

随着第一层被一层取代,第13层被移除,数字就会下降来代替它们。在13以上的情况下,它们向下移动两个,因为在它们下面有两个遗漏的数字。

example

1  =>  0
0  =>  0
5  =>  4
15  =>  13
-3  =>  -3

solution

function getRealFloor(n) {
//   console.log(n)if(n<=0)return nelse if(n>0 && n<13)return n-1;else if(n>13)return n-2;
}

2021/5/10

【1】<8kyu>【Multiplication table for number】

你的目标是返回一个从1到10的整数的乘法表。

example

1 * 5 = 5
2 * 5 = 10
3 * 5 = 15
4 * 5 = 20
5 * 5 = 25
6 * 5 = 30
7 * 5 = 35
8 * 5 = 40
9 * 5 = 45
10 * 5 = 50

solution

 function multiTable(number) {var result = [];for(var i=1;i<=10;i++){var mul = i * numbervar str = i  + ' * '  + number +  ' = ' + mulresult.push(str)}return (result.join('\n'))}

2021/5/26

【1】<8kyu>【Gravity Flip】

example

flip('R', [3, 2, 1, 2])     =>  [1, 2, 2, 3]
flip('L', [1, 4, 5, 3, 5])  =>  [5, 5, 4, 3, 1]

solution

const flip=(d, a)=>{// 如果是R,则递增排序; 如果是L,则递减排序if(d == 'L')return a.sort((a,b)=>{return b-a})else return a.sort((a,b)=>{return a-b})
}

codewars练习js2021/5/67891026相关推荐

  1. Codewars Vasya - Clerk--6 kyu--Python解法

    Codewars Vasya - Clerk–6 kyu–Python解法 Codewars 是一个跟LeetCode类似的结题网站. Codewars题解专栏:Codewars题解 题目地址:Tra ...

  2. Codewars 开篇

    今年二月份,因为寒假在家休息了一段时间,打算干点正事打发无聊的时光.于是想刷点题找找编程的感觉,之前也刷过一些OJ题.Leetcode上的题,所以本来是计划刷一些leetcode的题,就当是为以后找工 ...

  3. codewars??? Is my friend cheating?

    2019独角兽企业重金招聘Python工程师标准>>> https://www.codewars.com/kata/5547cc7dcad755e480000004/train/ja ...

  4. [codewars] - int32 to IPv4 二进制十进制 ip地址转换

    原题 https://www.codewars.com/kata/int32-to-ipv4/train/java Take the following IPv4 address: 128.32.10 ...

  5. 入坑codewars

    毕业一年多了,总感觉自己啥也不会.零零散散看了各种书,总感觉差点什么,代码毕竟还是敲出来的.OJ虽然也好,但是我这种画面党毕竟比较难接受,而且自查能力比较一般,各种不通过调试起来比较麻烦.也用过一阵子 ...

  6. codewars【1】

    今天开始记录自己在codewars上遇到的问题和得到的收获. 首先是自己已完成的四道题. 1.CreditCardMask Usually when you buy something, you're ...

  7. daily CodeWars

    每天都在codewars做题,刷题. 记录一下.. CodeWars Javascript filter - 1 function searchNames(logins){return logins. ...

  8. Codewars(3)

    前一阵子在codewars上做了一道题,觉得很不错,期间也踩了很多很多坑,在此把我做题的整个过程和牵扯到的知识点做一个汇总,以及我在思考过程中犯的一些错误,希望看完之后能对你有帮助,不要犯我犯的错误, ...

  9. 菜圈的codewars(一),codewars的注册

    看知乎有大神推荐codewars,现在正在学python,想上班的时候练习学习. 首先,要做两道题才能注册. 然而-- 菜圈表示第二题就不会做-- 我选的Python语言,第二题的答案是把第二个函数里 ...

  10. codewars(二)

    今天是体验codewars的第二天,今天开始研究了一下大佬们的代码,emm,for循环是恶魔吧,我要换换换~!! 今天的题目: //您将获得一个包含整数的数组(其长度至少为3,但可能非常大).除了单个 ...

最新文章

  1. 关于Linux发行版本RedHat9中文输入法使用问题的说明
  2. htmltest~计算器界面的实现
  3. VTK:图表之MutableDirectedGraphToDirectedGraph
  4. TCP/IP学习笔记(六)Nagle算法
  5. windows下共享文件夹在Linux下打开
  6. netty实现客户端服务端心跳重连
  7. 5.6.50 mysql 用什么驱动_日均5亿查询量的京东订单中心,为什么舍弃MySQL用ES?
  8. 荷兰帝斯曼收购初创科技公司尚善 无氟光伏背板被指有利回收再利用
  9. 线程安全、同步与互斥机制以及死锁的产生与实现
  10. lib的编写与使用(C/C++)
  11. UNIX发展历史流程图
  12. 汇丰银行借沟通CTBS远程管理帐务
  13. 达梦数据库备份还原使用
  14. 802d简明调试手册_802d简明调试手册.pdf
  15. Python (and、or、、 |) 用法
  16. C/C++学习笔记——C基础:C语言概述
  17. 【经典推荐】10部关于数学的顶级纪录片
  18. PNAS:睡眠的fMRI频谱特征
  19. The Thirteenth Of Word-Day
  20. 数据安全--1--专栏开篇作-数据安全概念及架构

热门文章

  1. 奈奎斯特与香农定理_这样解释奈奎斯特定理和香农定理,初学者也能明白
  2. opencv-python 实现颜色检测
  3. Help library 安装arcobjects for .NET异常问题
  4. hexo建站之yilia主题diy
  5. ubuntu查询显卡型号
  6. python数据按照分组进行频率分布_3.2.1 分布分析
  7. html如何缩进对齐,CSS:文本样式(缩进/对齐/字符间隔/文本装饰/空白格处理)_html/css_WEB-ITnose...
  8. e4a 蓝牙温度app_单片机ESP8266无线传输DHT11温湿度(APP+E4A调试说明与程序设计)
  9. salesforce chatter 调查的相关内容
  10. Visual Studio Code中设置HTML/HTML5模板