[学习报告]《LeetCode零基础指南》(第二讲) 函数

这篇博客分享了作者在学习LeetCode的初步体验,包括自我评价、解题成绩以及详细的解题报告。作者从基础的算法开始学习,记录了解决加法问题、判断2的幂次方和因子问题的代码实现,并提供了判断完全平方数的方法。

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

这个帖子是告诉大家,[学习报告] 可以写些什么?

一、吹不起来我太水了

嗯~学完这一节,我感觉自己我太水了
这是今天学习的内容:《LeetCode零基础指南》(第一讲) 函数_英雄哪里出来的博客-优快云博客(2条消息) 《LeetCode零基础指南》(第二讲) 循环_英雄哪里出来的博客-优快云博客《LeetCode零基础指南》(第一讲) 函数_英雄哪里出来的博客-优快云博客

二、晒战绩

打败了 100% 的人,强无敌哈哈哈~~

 

三、写解题报告

今天入门题还需要看答案,对自己水平有一个清晰的认知了,完全不懂算法,从入门学起吧,感谢英雄哥领进算法的大门,自己也需要努力,加油!

 贴上解题过程

1.求 1+2+...+n ,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。

class Solution {

public:

    int sumNums(int n) {

        int i = 1;

        int sumNums = 0;

        for(i; i<=n; i++)

        {

            sumNums += i;

        }

        return sumNums;

    }

};

2.给你一个整数 n,请你判断该整数是否是 2 的幂次方。如果是,返回 true ;否则,返回 false 。

如果存在一个整数 x 使得 n == 2x ,则认为 n 是 2 的幂次方。

class Solution {
public:
    bool isPowerOfTwo(int n) {
        int i;
        unsigned int k = 1;
        if(n <= 0)
        {
            return false;
        }
        if(n == 1)
        {
            return true;
        }
        for(i = 1; i <= 31; i++)
        {
            k *= 2;
            if(n == k)
            {
                return true;
            }
        }
        return false;
    }
};

 3.给你两个正整数 n 和 k 。

如果正整数 i 满足 n % i == 0 ,那么我们就说正整数 i 是整数 n 的因子。

考虑整数 n 的所有因子,将它们 升序排列 。请你返回第 k 个因子。如果 n 的因子数少于 k ,请你返回 -1 。

class Solution {
public:
    int kthFactor(int n, int k) {
        int i;
        int cnt = 0;
        for(i = 1;i <= n; i++)
        {
            if(n % i == 0)
            {
                cnt++;

                if(cnt == k)
                {
                    return i;
                }
            }
        }
        return -1;
    }
};

4.

给定一个 正整数 num ,编写一个函数,如果 num 是一个完全平方数,则返回 true ,否则返回 false 。

进阶:不要 使用任何内置的库函数,如  sqrt 。

class Solution {
public:
    bool isPerfectSquare(int num) {
        int i;
        long long p;
        for(i = 1;;i++)
        {
            p = (long long) i*i;
            if(p == num)
            {
                return true;
            }
            if(p > num)
            {
                return false;
            }
        }

        return false;
    }
};

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值