//1、只出现一次的数字(异或)// 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现一次的元素。classSolution{public:intsingleNumber(vector<int>& nums){int val =0;for(auto e : nums){
val ^= e;//按位异或:相同为0,相异为1return val;}}};
2、杨辉三角形
//2、杨辉三角形// 给定一个非负整数 numRows, 生成杨辉三角形的前 numRows行。在杨辉三角形中,每个数是它左上方和右上方的数之和。#include<iostream>#include<vector>usingnamespace std;classSolution{public:static vector<vector<int>>generate(int numRows){
vector<vector<int>> vv;
vv.resize(numRows);for(size_t i =0; i < vv.size();++i){
vv[i].resize(i +1,0);
vv[i].front()= vv[i].back()=1;//先将 vv[i]数组中的第一个和最后一个元素置为1}//计算出剩余位置的数值for(size_t i =0; i < vv.size();++i){for(size_t j =0; j < vv[i].size();++j){if(vv[i][j]==0){
vv[i][j]= vv[i -1][j]+ vv[i -1][j -1];}}}return vv;}};intmain(){Solution::generate(5);return0;}