【C++初阶】 vector 在OJ中的使用

04-11 1078阅读

前言:

🎯个人博客:Dream_Chaser

🎈博客专栏:C++

📚本篇内容:只出现一次的数字 和 杨辉三角 OJ

【C++初阶】 vector 在OJ中的使用

目录

一、只出现一次的数字

题目描述:

二、杨辉三角OJ

题目描述:


一、只出现一次的数字

题目链接:136. 只出现一次的数字

题目描述:

给你一个 非空 整数数组 nums ,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。

你必须设计并实现线性时间复杂度的算法来解决此问题,且该算法只使用常量额外空间。

【C++初阶】 vector 在OJ中的使用

class Solution {
public:
    int singleNumber(vector& nums) {
   // 初始化一个整数变量val为0,用于储存最终结果
        int val=0;
   // 使用范围for循环遍历输入的整数向量nums中的每一个元素
        for(auto e:nums )
        {
            // 对当前元素e与val进行异或运算(XOR),并将结果赋值给val
            // 异或运算具有以下性质:任何数与0异或结果为其本身,相同数异或结果为0
            // 因此,向量中出现两次的数会在异或过程中抵消,最后剩下的就是只出现一次的那个数
            val^=e;
        }
        // 返回经过异或运算后得到的结果,即向量中唯一出现一次的整数
        return val;
    }
};

【C++初阶】 vector 在OJ中的使用

二、杨辉三角OJ

题目链接:118. 杨辉三角

题目描述:

给定一个非负整数 numRows,生成「杨辉三角」的前 numRows 行。

在「杨辉三角」中,每个数是它左上方和右上方的数的和。

【C++初阶】 vector 在OJ中的使用

【C++初阶】 vector 在OJ中的使用

class Solution {
public:
    vector generate(int numRows)
    {
        vectorvv;
        vv.resize(numRows);//设置二维向量 vv 的行数,
        //这个操作并没有初始化这些子向量的大小,即它们的列数。
        for(size_t i= 0;i
VPS购买请点击我

文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。

目录[+]