
算法入门
算法解题记录分享
小白酱的头号黑粉
所谓的光辉岁月,并不是以后闪耀的日子,而是无人问津时,你对梦想的偏执。
展开
-
数组去重算法挑战
收获:1.arguments 可以获得我们接受的所有参数2.使用set去重先实例化一个set对象,然后在向这个对象添加新元素时会自动判断是否是否已经含有这个元素了,没有在存入,有了直接跳过3.Array.from()将其他类型的转化为数组;function unite(arr1, arr2, arr3) { var list=new Set(); for(var i=0;i<...原创 2019-03-05 16:33:14 · 196 阅读 · 0 评论 -
翻转字符串算法挑战
就是把字符串反过来 (单词的顺序也要变化)测试点:reverseString("hello") 应该返回一个字符串reverseString("hello") 应该返回 "olleh".reverseString("Howdy") 应该返回 "ydwoH".reverseString("Greetings from Earth") 应该返回 "htraE morf s原创 2019-02-20 11:52:58 · 177 阅读 · 0 评论 -
js---树的创建,查找,添加,查看树的最大最小高度以及判断是否为平衡二叉树
//数据结构------二叉树var displayTree = (tree) => console.log(JSON.stringify(tree, null, 2));function Node(value) { this.value = value; this.left = null; this.right = null;}function Binary...原创 2019-06-04 18:06:07 · 293 阅读 · 0 评论 -
w3c-----集合交集算法挑战
function sym(args) { //排序 for(var i=0;i<arguments.length;i++){ arguments[i].sort(function(a,b){ return a-b; }) } //排完序后去重 for(var i=0;i<arguments.length;i++){ for(var j=0;j<argu...原创 2019-05-17 17:33:11 · 189 阅读 · 0 评论 -
w3c收银系统算法挑战
原题链接:https://www.w3cschool.cn/codecamp/exact-change.htmlfunction checkCashRegister(price, cash, cid) {var change=[];// Here is your change, ma'am.var sum=cash-price;//将字符转换为数字for(var i=0;i<c...原创 2019-05-21 18:25:21 · 265 阅读 · 0 评论 -
w3c---js高级脚本排列组合去重算法挑战
题目链接:https://www.w3cschool.cn/codecamp/no-repeats-please.html解题思路:1.找出所有排列的可能集合(这种方法是我的第一想法比较笨,网上应该还有其他解法)2.减去集合中有连续重复的其中主要的就是找出所有可能的集合,这是我的大致思路代码:function permAlone(str){ if(str.length===1) re...原创 2019-05-24 20:33:26 · 314 阅读 · 0 评论 -
js算法初级----设置首字母大写算法挑战
给一个字符串返回首字母大写测试点:titleCase("I'm a little tea pot") 应该返回一个字符串titleCase("I'm a little tea pot") 应该返回 "I'm A Little Tea Pot".titleCase("sHoRt AnD sToUt") 应该返回 "Short And Stou原创 2019-02-20 16:11:50 · 238 阅读 · 0 评论 -
字符串查询替换算法挑战
主要就是解决要替换的和替换后的首字母大小写是否一致的问题:可以利用string.charCodeAt()查看他的字符ascll码a~z:97-122A~Z:65~90他们之间相差32清楚了他们的ascll码就可以利用toUpperCase和toLowerCase进行转化了function myReplace(str, before, after) { var list=str.s...原创 2019-03-05 11:28:23 · 479 阅读 · 0 评论 -
对象搜索算法挑战
这道题主要还是考我们对js中属性的运用主要了解三点:1.循环遍历属性:for.....in如本题中的for(var p in source){ shuxing.push(p);}p可以获得source中的属性,并且存入到shuxing数组里2.获得属性名字后访问属性的值是“[]”我们想访问collection[j]中属性名为shuxing[i]的属性值不是用“.”正确的访问方法...原创 2019-03-05 10:15:03 · 283 阅读 · 0 评论 -
js算法入门---寻找最长的单词算法挑战
寻找最长的单词算法挑战(只返回最长单词的长度)function findLongestWord(str) { var word=str.split(" "); var max=0; for(var i=0;i&lt;word.length;i++){ if(word[i].length&gt;max){ max=word[i].length; } } return m...原创 2019-02-20 14:33:29 · 241 阅读 · 0 评论 -
js算法入门---回文算法
palindrome(回文)是指一个字符串忽略标点符号、大小写和空格,正着读和反着读一模一样。测试点:palindrome("eye") 应该返回一个布尔值palindrome("eye") 应该返回 true.palindrome("race car") 应该返回 true.palindrome("not a palindrome") 应该返回 false.palindrome(...原创 2019-02-20 11:50:34 · 260 阅读 · 0 评论 -
w3c_数据组合求值算法挑战
找到你的另一半都说优秀的程序员擅长面向对象编程,但却经常找不到另一半,这是为什么呢?因为你总是把自己局限成为一个程序员,没有打开自己的思维。这是一个社群的时代啊,在这里你应该找到与你有相同价值观但又互补的另一半。譬如:你编程能力强,估值11分,如果以20分为最佳情侣来计算,你应该找一个设计能力强,估值为9分的女生。那么当你遇到一个设计能力为9分的女生,千万别犹豫,大胆去表白。千万别...原创 2019-02-21 22:57:47 · 218 阅读 · 0 评论 -
位移密码算法挑战
测试点:rot13("SERR PBQR PNZC") 应该解码为 "FREE CODE CAMP"rot13("SERR CVMMN!") 应该解码为 "FREE PIZZA!"rot13("SERR YBIR?") 应该解码为 "FREE LOVE?"rot13("GUR DHVPX OEBJA QBT WHZCRQ BIRE GUR YNML SBK.")原创 2019-02-21 22:11:44 · 322 阅读 · 0 评论