笔试合集3

本文探讨了大数模拟算法实现及其在牛客网上的挑战,同时介绍了二叉搜索树计数问题,并提供了基于递推公式的解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、大数模拟,题目记不太清了。。。。

//var str = readline();
str = "-sgsf";
var sum = 0n;
var flag = 1;
if(str[0] === '-'){
    str = str.substr(1);
    flag = 0;
}
console.log(str);
for(var i=str.length-1;i>=0;i--){
    str.length = BigInt(str.length-1)
    var ten = 36**(str.length-1-i);
    ten = BigInt(ten);
    //console.log(ten);
    if(str[i]>='0' && str[i]<='9'){
        sum += BigInt(Number(str[i])) * ten;
    } else if(str[i]>='a' && str[i]<='z'){
        sum += BigInt(Number((str[i].charCodeAt() - 'a'.charCodeAt()))+10)*ten;
        //console.log("a".charCodeAt() - 'a'.charCodeAt()+10);
    } else {
        sum = 0n;
        break;
    }
}
//console.log(sum);
// 170581728179578208255n
// 9223372036854775807
//console.log(170581728179578208255n>9223372036854775807);
if(sum >= 9223372036854775807n){
    if(flag){
        console.log("9223372036854775807");
    } else {
        console.log("-9223372036854775807")
    }
} else{
    if(flag){
        console.log(sum.toString());
    } else {
        console.log("-"+sum.toString());
    }
}
// console.log(Number.MIN_SAFE_INTEGER)
//9223372036854775807
//9007199254740991

我有一种能A的错觉,但是牛客网貌似禁用了ES6,直接零通过率QAQ

2、多少个二叉搜索树,这就涉及到一个公示了,还是之前遇到过种题:

C(n) = C(0)*C(n-1) + C(1)*C(n-2) +…+C(1)*C(n-2)+C(0)*C(n-1)

大体上适合这个规律,具体大家可以查一下权威解释,代码如下:

var n = readline();
// n = 3;
n = Number(n);
var a = [1, 1, 2];
if(n == 0){
    console.log(0);
} else if(n === 1){
    console.log(1);
} else if(n === 2){
    console.log(2);
} else {
    for(var i=3;i<=n;i++){
        var sum = 0;
        for(var j=0;j<i;j++){
            sum += a[i-(j+1)] * a[j];
        }
        a[i] = sum;
    }
    console.log(a[n]);
}

PS:ZY 2020-09-10 前端

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值