九日集训 Day 1 函数

本文介绍了函数在编程中的重要性,通过LeetCode题目讲解了整数加法、乘法、除法、幂运算以及求最大值的函数实现。此外,还探讨了一个有趣的拓展问题——判断数字反转后的有效性。这些基础知识对于提升代码复用性和可维护性至关重要。

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

1 学习内容:函数。

功能复杂的计算机程序的可维护性要求高,以函数的形式进行编程能够有效提高代码的复用,并且方便维护,因此函数的重要性不言而喻。

2 Leetcode 刷题

今天的目的只是熟悉函数编程,所以并没有按照题目要求对编写的代码进行限制。

2.1 整数加法

相关题目

371. 两整数之和

面试题 17.01. 不用加号的加法

剑指 Offer 65. 不用加减乘除做加法

这里其实想要考察的是位运算,先直接用加法运算,只是熟悉一下函数,后续会再专门写篇博客实现位运算。三道题目是一样,源码如下。

class Solution {
public:
    int getSum(int a, int b) {
        return a+b;
    }
};

2.2 乘法运算

相关题目 面试题 08.05. 递归乘法

class Solution {
public:
    int multiply(int A, int B) {
        return A * B;
    }
};

2.3 除法运算

相关题目 29. 两数相除

class Solution {
public:
    int divide(int dividend, int divisor) {
        if (dividend == pow(-2, 31) && divisor == -1){
            return pow(2,31)-1;
        }
        return dividend / divisor;

    }
};

2.4 幂运算

相关题目

 50. Pow(x, n) 

69. Sqrt(x)

class Solution {
public:
    double myPow(double x, int n) {
        return pow(x,n);
    }
};

class Solution {
public:
    int mySqrt(int x) {
        return int(sqrt(x));
    }
};

2.5 最大数值

相关题目 面试题 16.07. 最大数值

这道题目主要考察三目运算符,比较简单。

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

2.6 拓展

相关题目 2119. 反转两次的数字

这道题目比较有意思,实际上就是关注所给的数字是不是以0结尾的,显然,0是符合要求的反转数,其他以0结尾的数则不符合。

class Solution {
public:
    bool isSameAfterReversals(int num) {
        return num==0? true: num%10 != 0;
    }
};

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值