• 去哪儿笔试羊生羊问题


    题目:
    最开始有1只母羊,母羊在固定的N0,N1,N2....Ni年生1只母羊,母羊在p年死去,如果p=Ni,则先生羊,再死去,计算m年后还有多少只羊。

    输入示例:

    2 4(母羊在第2年和第4年生产)

    5(母羊在第5年死去)

    10(10年后还有多少只羊)

    输出示例:

    47

    解题思路:将羊存入数组,数组项的值就是羊的年龄,通过遍历数组来判断每只羊是否生产,是否死亡,最后输出数组长度既m年后羊的总数。
    JavaScript

    var string = prompt();
    var p = parseInt(prompt());
    var year = parseInt(prompt());
    var Ni = new Array();
    Ni = string.split(' ');
    for (var i = 0; i < Ni.length; i++) {
    	Ni[i] = parseInt(Ni[i]);
    }
    var Sheep = new Array();
    Sheep[0] = 0;
    for (var i = 1; i <= year; i++) {
    	length = Sheep.length;
    	for (var j = 0; j < length; j++) {
    		Sheep[j]++;
    		if (Ni.indexOf(Sheep[j]) != -1) {
    			Sheep.push(1);
    		}
    		if (Sheep[j] == p) {
    			Sheep.splice(j, 1);
    			length--;
    			j--;
    		}
    	}
    }
    console.log(Sheep.length);
    

    总结:题不是很难,但是最开始做的时候想的太复杂了,想的是用对象来存储每只羊的属性,然后再把对象存入数组,通过遍历数组来对每只羊的属性进行修改,发现太麻烦,而且会占用不必要的内存。最后简化到一个简单的一维数组就能解决,不过要注意数组不断变化过程中下标和数组长度都在变化。

  • 相关阅读:
    到底什么时候才需要在ObjC的Block中使用weakSelf/strongSelf
    陀螺仪、加速计和磁力计
    UIImage加载图片的方式以及Images.xcassets对于加载方法的影响
    Java-Jdbc
    3.1 基本数据类型
    第三章 数据类型和变量
    2.2.4 给java应用打包
    2.2.3 运行java程序
    2.2.2 编译java源文件
    2.2.1 jdk简介
  • 原文地址:https://www.cnblogs.com/tanwm/p/7577249.html
Copyright © 2020-2023  润新知