蓝桥杯程序设计备赛(2024.1.12)

86 阅读1分钟

371. 两整数之和https://leetcode.cn/problems/sum-of-two-integers/

       最开始的时候我们就是先不用管题目对解法的要求,最开始的时候我们只要能完成题目就可以了。

int getSum(int a, int b) {

           return a+b;

        }

面试题 17.01. 不用加号的加法https://leetcode.cn/problems/add-without-plus-lcci/

int add(int a, int b){

    return a+b;

}

LCR 190. 加密运算https://leetcode.cn/problems/bu-yong-jia-jian-cheng-chu-zuo-jia-fa-lcof/

​      这题的话还是最简单的return dataA+dataB;

面试题 08.05. 递归乘法https://leetcode.cn/problems/recursive-mulitply-lcci/

      ​这题的话是

return A*B

      在写题目的时候注意数据的范围,有些时候可能会超出当前数据类型的范围,那么这个时候就需要对数据类型进行强转了。

29. 两数相除https://leetcode.cn/problems/divide-two-integers/

​    这题的话如果按照之前的思路的话那就是return dividend/divisor;但是我们写完之后还得考虑最后结果的范围。提示那边对数据范围是有解释的。题目说了环境只能储存32位有符号整数。dividend和divisor的范围都是**-2^32 <= dividend, divisor <= 2^32 - 1;**

    这个时候,假如说dividend是**-2^32,divisor** 是-1呢?那答案就是2^32,那就超出了int类型的范围了,int类型的范围是-2^32到2^32-1。这个时候就没办法了,我们只能额外加一句if了。

int divide(int dividend, int divisor) {
    if (dividend == -2147483648 && divisor == -1 ){
        return 2147483647;
    }
    return dividend/divisor;
}

50. Pow(x, n)https://leetcode.cn/problems/powx-n/

​这题c语言有一个pow函数,就是用来计算幂的。

double myPow(double x, int n) {
    return pow(x,n);
}

这个函数的返回值是x的n次。

69. x 的平方根 https://leetcode.cn/problems/sqrtx/

​这题的的话,有一个sqrt函数,是用来算算术平方根的函数,这个函数在math.这个库里面。

int mySqrt(int x) {
    return sqrt(x);
}

面试题 16.07. 最大数值https://leetcode.cn/problems/maximum-lcci/

​这题用三目运算符。

int maximum(int a, int b){
    return a>b?a:b;
    
}

这句话的意思是如果a>b,那么就返回后面的a,如果不成立,就返回后面的b。