2018-4-25青藤云前端开发实习生笔试

1.是智力题,关于某个老板计算自己收到假钞时会损失多少钱

2.囧,算是找规律的智力题吧,总的来说,前两道比较容易

3.将js 数组重新随机排序

function randomArr(arr){
    var _arr = [];
    var length = arr.length;
    for(var i=0; i<length; i++){
        var random = Math.random() * arr.length;
        _arr.push(arr.splice(random, 1)[0]);
    }
    return _arr;
}

4.用C语言和最小的时间效率以及空间实现一个字符串反转为倒串即C语言经典算法-字符串的颠倒

void Reverse(char s[])
{
     for(int i =0,j=strlen(s)-1;i<j; ++i,--j)
     {
        char c=s[i];
        s[i]=s[j];
        s[j]=c;
     }
}
此函数原出自Kernighan和Ritchie合作的经典作品TCPL第二版
评注:此算法无论是从时间复杂度,还是从使用最小空间方面,都应该是最优了。
时间上只用了遍历字符串长度一半的时间,空间上只是创建字符串长度
一半的空间。当然我们还可以从空间上进一步减少使用。
void Reverse(char s[])
{
    char c;
    for(int i =0,j=strlen(s)-1;i<j; ++i,--j)
     {
        c=s[i];
        s[i]=s[j];
        s[j]=c;
     }
}
我们从外部声明c,这样在整个字符串反转过程中我们就只使用了一个变量。空间使用
更小了!但是我们必须要考虑的一个问题是,当我们传递的字符串只用一个字符的时候,
上面的算法,不如第一个算法效率高,因为上面的这个函数,多创建了一个没有使用的
char对象,并且C++语言推荐:"尽可能推迟对变量声明"。所以真正我还是同意用《TCPL》
上的那种方法,在使用出定义char c=s[i]的形式!

5.简述js语言写const = 4后在chrome客户端的编译情况


6.用js语言给数组中的元素们根据他们的属性进行分类

JavaScript中数组对象详解 - 简书  https://www.jianshu.com/p/fd8c73d2cf2c


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值