一周算法练习:2019-05-06开始---首篇

不知道大家怎么样的状况,个人目前状态是,迷之纠结
跟着 https://www.jianshu.com/p/a967014dbe6e 这篇博客表露心声,手动+1比心
同感:

图片.png

我是实习期,实习还有3个月就满一年了,早早出来,写代码却时常卡壳,这个就很捉急了,占了时间的先机,却进步缓慢;有时候想把自己脑子撬开看看怎的了,咋就打结了呐,能力也是一直没提升。

总结问题有以下几点:

  1. 思维不够灵活
  2. 知识面狭窄
  3. 遇到不熟悉的代码或者业务就立马懵了(功力不扎实)
  4. 不够理解js代码的灵活应用(羡慕那些分分钟写脚本的大佬)

目标:

一周练会10~15个,先做个短期测试,其他陌生知识也抽空学习扩宽知识面;

遂开始锻炼我的思维,练习算法能不能改善呐拭目以待吧(因为目前我也不知道~~~(>_<)~~~)

图片.png

都是简单的开始,复杂的咱也写不来,试着理解这些并毫无参照的白纸写出来,做到学进去:

算法1:反转一个整数或字符串 支持负数了
注意:如果数值小数位数超过6位,就会转换为科学计数法,整数的多于21位也会转为科学计数法
2019 20:11:04

输入为数字

方法1:

const reverseInteger = function (number) {
    var str = String(number)    //转换为字符串处理 
    // if(str.length>9) return 0   //无符号到亿 有符号到---负千亿
    if(str.charAt(0) == "-"){   //charAt()方法可返回指定位置的(顺序同数组下标)字符
        var str_r = String(number).substr(1,str.length)     //str_r=负号后的字符
        return parseInt("-"+str.split("").reverse().join(""))
    }  
    return parseInt(str.split("").reverse().join(""))
}
reverseInteger(-123)

作者:zz77zz
链接:https://www.jianshu.com/p/a967014dbe6e
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

假设我们的环境只能存储得下 32 位的有符号整数,
则其数值范围为 [−231, 231 − 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。-2147483648
push()、pop() 是从数组的尾部进行增减,unshift()、shift() 是从数组的头部进行增减。

方法2:未使用reverse()方法

var reverse = function(x) {
   var resultArr = [];
   var intToStr = x.toString();
   for(var i = intToStr.length-1;i > 0;i--){
       resultArr.push(intToStr[i]);
   }
   if(intToStr[0] == "-"){
       resultArr.unshift("-");
   }
   // 这部分处理32位存储
   // resultArr.push(intToStr[0]);
   // var resultNum = parseInt(resultArr.join(""));
   // if(resultNum <= Math.pow(-2,31) || resultNum >= Math.pow(2,31) - 1 ){
   //     return 0;
   // }
   return resultNum;
};
reverse(-1250)

方案3: 方案一的升级版

var rev=function(x){
var str=parseInt(x.toString().split("").reverse().join("")) //转为字符,分割为数组,反转,
return x<0 ?-str:str
};
rev(-123456789)

作为字符串处理

1.字符串的完全翻转:

var str = "smile at life";
document.write(str.split("").reverse().join("")); //结果为efil ta elims

2.翻转字符串中单词顺序,但单词字母顺序不变:

function reverseStr(param){
    var arr = param.split(" ");
    var newArr = [];
    for(i=0;i<arr.length;i++){
        newArr[arr.length-i] = arr[i];
    }
    return newArr.join(" ");
}
reverseStr("smile at life"); //life at smile 
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,142评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,298评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,068评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,081评论 1 291
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,099评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,071评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,990评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,832评论 0 273
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,274评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,488评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,649评论 1 347
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,378评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,979评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,625评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,796评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,643评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,545评论 2 352