跨境派

跨境派

跨境派,专注跨境行业新闻资讯、跨境电商知识分享!

当前位置:首页 > 卖家故事 > 【C++初阶】 vector 在OJ中的使用

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

时间:2024-04-25 07:05:25 来源:网络cs 作者:淼淼 栏目:卖家故事 阅读:

标签: 使用 
阅读本书更多章节>>>>

前言:

🎯个人博客:Dream_Chaser

🎈博客专栏:C++

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

目录

一、只出现一次的数字

题目描述:

二、杨辉三角OJ

题目描述:


一、只出现一次的数字

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

题目描述:

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

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

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

二、杨辉三角OJ

题目链接:118. 杨辉三角

题目描述:

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

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

class Solution {public:    vector<vector<int>> generate(int numRows)    {        vector<vector<int>>vv;        vv.resize(numRows);//设置二维向量 vv 的行数,        //这个操作并没有初始化这些子向量的大小,即它们的列数。        for(size_t i= 0;i<vv.size();i++)//计算整个容器有多少行        {            vv[i].resize(i+1,0);//每一行都设置成0            //每一行的第一列元素和最后一列元素设置成1            vv[i][0] = vv[i][vv[i].size()-1] = 1;         }        for(size_t i = 0;i<vv.size();i++)//vv.size()-1计算整个容器有多少行        {            for(size_t j= 0;j<vv[i].size();j++)//vv[i].size()-1计算整个容器有多少列            {                if(vv[i][j] == 0)                {                    //在「杨辉三角」中,每个数是它左上方和右上方的数的和。                    vv[i][j] = vv[i-1][j] +vv[i-1][j-1];                }            }        }        return vv;    }};

 本章完。 

🔧本文修改次数:0

🧭更新时间:2024年4月5日 

阅读本书更多章节>>>>

本文链接:https://www.kjpai.cn/gushi/2024-04-25/161980.html,文章来源:网络cs,作者:淼淼,版权归作者所有,如需转载请注明来源和作者,否则将追究法律责任!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。

文章评论