0
点赞
收藏
分享

微信扫一扫

九日集训第二天

腾讯优测 2022-03-30 阅读 83
c++

前言

简单的for语句

一、知识点

1、基本语法

for(循环初始化表达式; 循环条件表达式; 循环执行表达式){
    循环体
}

2、注意

long long 避免32整形溢出

二、题目

1、剑指 Offer 64. 求1+2+…+n

1.1 分析
用 for循环简单语法运用
简单一行过

1.2代码

朴素法

class Solution {
public:
    int sumNums(int n) {
	 int sum = 0;
        for(int i = 1 ; i <= n ; i++)
        {
            
            sum += i;
    }
        return sum;
    }
};

天秀法

class Solution {
public:
    int sumNums(int n) {
        return sizeof(bool[n][n + 1]) >>1;//计算所占空间,n*(n -1)/2
    }
};

2、231. 2 的幂
2.1题目分析
注意考虑特殊情况
2.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(k == n) {
            return true;       
        }
    }
    return false;
}

};

3、326. 3 的幂
3.1题目分析
和上题一样
3.2代码

class Solution {
public:
    bool isPowerOfThree(int n) {

    int i;
    unsigned int k = 1;        
    if(n <= 0) {
        return false;          
    }
    if(n == 1) {
        return true;           
    }
    for(i = 1; i <=30 ; ++i) {
        k *= 3;                
        if(k == n) {
            return true;       
        }
    }
    return false;

    }
};

4、342. 4的幂
4.1题目分析
一样套路,稍微改下范围,微调
4.2代码

class Solution {
public:
    bool isPowerOfFour(int n) {

    int i;
    unsigned int k = 1;        
    if(n <= 0) {
        return false;          
    }
    if(n == 1) {
        return true;           
    }
    for(i = 1; i <=18 ; ++i) {
        k *= 4;                
        if(k == n) {
            return true;       
        }
    }
    return false;

    }
};

5、1492. n 的第 k 个因子
5.1题目分析
求因子,利用取余操作
5.2代码

class Solution {
public:
    int kthFactor(int n, int k) {
        int cnt = 0;

        for(int i = 1 ; i <= n ; i ++)
        {
            if(n % i ==0)
            { cnt ++;

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

三、做题记录

在这里插入图片描述

举报

相关推荐

RHCSA第二天

CSS第二天

html第二天

出差第二天

MySQL第二天

集合第二天

java第二天

DOM第二天

JavaSE 第二天

【JavaSE 第二天】

0 条评论