2019年初考核题

栏目: JavaScript · 发布时间: 4年前

内容简介:本篇是继昨天我们部门(技术部)的年初能力考核后,整理出来的文章。以此鞭策自己在今年的工作上,树立清晰可见的目标,已达到最终预期的效果。1.有一个沙滩,有无穷多的沙子。现有2个空容器,分别可装为5kg和6kg的沙子。问题是如何只用这2个容器取得3kg的沙子?(10分)2.烧一根不均匀的绳从头烧到尾总共需要1个小时,如何用它来判断半个小时? 现在有3条材质相同的绳子,问如何用烧绳的方法来计时一个小时十五分钟呢?(10分)

本篇是继昨天我们部门(技术部)的年初能力考核后,整理出来的文章。以此鞭策自己在今年的工作上,树立清晰可见的目标,已达到最终预期的效果。

题目:

1.有一个沙滩,有无穷多的沙子。现有2个空容器,分别可装为5kg和6kg的沙子。问题是如何只用这2个容器取得3kg的沙子?(10分)

2019年初考核题

2.烧一根不均匀的绳从头烧到尾总共需要1个小时,如何用它来判断半个小时? 现在有3条材质相同的绳子,问如何用烧绳的方法来计时一个小时十五分钟呢?(10分)

2019年初考核题

3.你有四个装药丸的药罐,其中有一个药罐的药丸被污染,每个正常的药丸都有一定的重量,被污染的药丸是没被污染的重量+1,只称量一次,如何判断哪个药罐的药被污染了? (10分)

给四个罐子编上号,1、2、3、4.然后1号拿一个,2号拿2个,3号拿3个,4号拿4个,称一下,若是都没被污染,应该重10个重量,若是11个重量就是1号罐,12就是2号罐,13就是3号罐,14就是4号罐(此题不太严谨,取相对重量)

4.实现一个算法,确定一个英文字符字符串的所有字符是否全都不同。 给定一个string iniString,字符串的长度小于等于100,请返回一个bool值,True代表所有字符全都不同,False代表存在相同的字符。(20分)

测试样例: “aeiou” 返回:True “BarackObama” 返回:False

思路:把那个字符串全部取出来放进一个数组中,然后对那个数组去重得到一个新数组,前后两个数组长度一对比,如果一样,就没重复,返回true;如果不一样,就返回false。

function test(str){
    var arr=[];//把字符串中所有元素
    for(var i=0;i<str.length;i++){
        arr.push(str[i]);
    };
    //  arr = str.split("").join("");  
    //这个是听取同事建议,将上一步循环换成更加完美的转成数组的方式
    var newArr = Array.from(new Set(arr));
    if(arr.length == newArr.length){
        return true;
    }else{
         return false;
    }
}
test("aeiou");//true;
test("BarackObama");//false;
复制代码

5.实现一个算法,翻转一个给定的字符串。 给定一个string iniString,符串的长度小于等于100,请返回一个string,为翻转后的字符串。 (20分)

测试样例:

"This is nowcoder"          返回:"redocwon si sihT"
复制代码
var str = "This is nowcoder"; 
console.log( str.split("").reverse().join("") );//redocwon si sihT
复制代码

划重点对自己的英语水平,一直很自信,没成想最后居然把reverse写成deverse了,最有把握的一道题也凉凉了……

6.利用字符重复出现的次数,编写一个方法,实现基本的字符串压缩功能。比如,字符串“aabcccccaaa”经压缩会变成“a2b1c5a3”。若压缩后的字符串没有变短,则返回原先的字符串。 给定一个string iniString为待压缩的串(长度小于等于100),保证串内字符均由大小写英文字母组成,返回一个string,为所求的压缩后或未变化的字符串。(30)

测试样例

"aabcccccaaa"              返回:"a2b1c5a3"
"welcometonowcoderrrrr"    返回:"welcometonowcoderrrrr"
复制代码
//取出字符串,判断重复停止,添加到新字符串中
function solution(str) {
  if(typeof str !== "string"){//类型不为字符串返回空
  	return '';
  }
  if (str.length <= 1){//直接返回源字符串
  	return str; 
  }
  let newStr = '';
  let s = str.charAt(0);
  let num = 1; //跳过第一个
  let total = str.length;
  for (let i = 1; i < total; i++) {
    let nowS = str.charAt(i);
    if (nowS === s) {
      num = num + 1; // 增加数量
      if (i + 1 === total) {
        newStr += `${s}${num}`; // 遍历结束时,拼接最后的字符串
      }
    } else {
      newStr += `${s}${num}`; // 拼接字符串
      num = 1; // 重置为1
      s = nowS; // 转为下一个字符s
    }
  }
  if (newStr.length >= str.length) {// 生成的字符串长度大于等于源字符串 返回源字符串 否则返回生成的字符串
    return str;
  } else {
    return newStr;
  }
};

console.log(
  '输出:',
  solution('welcometonowcoderrrrr'), 
  solution('aabcccccaaa'),
);//输出: welcometonowcoderrrrr a2b1c5a3
复制代码

结语:

韩老师点评到:类似于前三道的题目,在考公务员、智力竞赛这些方面都可以见到,平时也可以多了解了解,对开发智力也颇有帮助;后面三道,其实自己做过很多遍,也许因为各种不确定因素,总是展现出了不完美的一面。希望今后的叶叶再接再厉!


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Neural Networks for Applied Sciences and Engineering

Neural Networks for Applied Sciences and Engineering

Samarasinghe, Sandhya / CRC Pr I Llc / 2006-9 / $ 118.59

In response to the exponentially increasing need to analyze vast amounts of data, Neural Networks for Applied Sciences and Engineering: From Fundamentals to Complex Pattern Recognition provides scient......一起来看看 《Neural Networks for Applied Sciences and Engineering》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具