leetcode刷题:vector刷题


外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

🔥个人主页guoguoqiang. 🔥专栏leetcode刷题

Alt

1.只出现一次的数字

在这里插入图片描述
这道题很简单,我们只需要遍历一次数组即可通过异或运算实现。(一个数与自身异或结果为0,任何数与0异或还是它本身)

class Solution {
public:int singleNumber(vector<int>& nums) {int value=0;for(auto e:nums){value^=e;}return value;}
};

2.杨辉三角

这里是引用
这个题需要创建一个二维数组,开辟空间
vector<vector> vv , vv.resize(numRows)
在这里插入图片描述

class Solution {
public:vector<vector<int>> generate(int numRows) {vector<vector<int>> vv;vv.resize(numRows);for(int i=0;i<numRows;i++){vv[i].resize(i+1,0);vv[i][0]=vv[i][vv[i].size()-1]=1;}for(int i=0;i<numRows;i++){for(int j=0;j<i;j++){if(vv[i][j]==0){vv[i][j]=vv[i-1][j]+vv[i-1][j-1];}}}return vv;}
};

3.删除有序数组中的重复项

这里是引用
双指针,如果fast的前一个与fast相同,则对前面的值进行修改。

class Solution {
public:int removeDuplicates(vector<int>& nums) {int n=nums.size();if(n==0){return 0;}int slow=1,fast=1;while(fast<n){if(nums[fast-1]!=nums[fast]){nums[slow]=nums[fast];slow++;}fast++;}return slow;}
};

4.只出现一次的数组 二

在这里插入图片描述

//方法一 : 异或
class Solution {
public:int singleNumber(vector<int>& nums) {int ones = 0, twos = 0;       for (int num : nums) {ones = (ones ^ num) & ~twos;twos = (twos ^ num) & ~ones;}return ones;}
};
class Solution {
public:int singleNumber(vector<int>& nums) {unordered_map<int,int>freq;for(int num:nums){++freq[num];}int ans=0;for(auto [num,occ]:freq){if(occ==1){ans=num;break;}}return ans;}
};

5.只出现一次的数字 三

在这里插入图片描述

class Solution {
public:vector<int> singleNumber(vector<int>& nums) {//哈希表vector<int> ans;unordered_map<int,int>freq;for(int num:nums){++freq[num];}for(auto [num,occ]:freq){if(occ==1){ans.push_back(num);}}return ans;}
};
class Solution {
public:vector<int> singleNumber(vector<int>& nums) {// 第一步,对所有元素进行异或,最终的结果就是两个只出现一次数的异或结果int diff = 0;for (int num : nums) {diff ^= num;}// 找到diff中任何为1的位,可以使用diff & -diff快速找到// 这个操作可以隔离出diff最右端的1unsigned int diff_unsigned = diff;diff_unsigned &= -diff_unsigned;// 使用找到的这一位将数组中的数字分成两组vector<int> results(2, 0); // 最终结果for (int num : nums) {if ((num & diff_unsigned) == 0) {// 第一组,与diff_unsigned对应位为0results[0] ^= num;} else {// 第二组,与diff_unsigned对应位为1results[1] ^= num;}}return results;}
};

6.电话号码的字母组合

在这里插入图片描述

class Solution {//回溯算法。
public:vector<string> letterCombinations(string digits) {if(digits.empty()) return{};vector<string> mappings = {  // 数字到字母的映射"", "", "abc", "def",   // '0','1','2',..."ghi", "jkl", "mno","pqrs", "tuv", "wxyz"};vector<string> result;string current;backtrack(result, digits, 0, current, mappings);return result;}private:void backtrack(vector<string>& result, const string& digits, int index, string& current, const vector<string>& mappings) {if(index==digits.length()){result.push_back(current);return;}string letters = mappings[digits[index] - '0']; // 获取当前数字对应的所有字母for (char letter : letters) { // 遍历这些字母current.push_back(letter);   // 添加当前的字母backtrack(result, digits, index + 1, current, mappings);  // 继续处理下一个数字current.pop_back();  // 回溯,移除当前字母,以便尝试下一个字母}}
};

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/39390.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

GitHub每日最火火火项目(7.2)

Asabeneh / 30 - Days - Of - Python&#xff1a;这是一个为期30天的Python编程挑战项目&#xff0c;旨在通过逐步引导的方式帮助学习者在30天内掌握Python编程语言。然而&#xff0c;实际完成这个挑战可能需要超过100天&#xff0c;学习者可以根据自己的节奏进行。该项目还提供…

WPF UI 3D 基本概念 点线三角面 相机对象 材质对象与贴图 3D地球 光源 变形处理 动作交互 辅助交互插件 系列三

WPF UI交互专题 平面图形 Path Drawing 绘图 渐变 Brush 矩阵 Transform 变形 阴影效果 模糊效果 自定义灰度去色效果 系列二-CSDN博客 1软件中的3D基本概念 WPF 中 3D 功能的设计初衷并非提供功能齐全的游戏开发平台。 WPF 中的 3D 图形内容封装在 Viewport3D 元素中&#x…

2024年华为OD机试真题-分披萨-C++-OD统一考试(C卷D卷)

2024年OD统一考试(D卷)完整题库:华为OD机试2024年最新题库(Python、JAVA、C++合集) 题目描述: “吃货”和“馋嘴”两人到披萨店点了一份铁盘(圆形)披萨,并嘱咐店员将披萨按放射状切成大小相同的偶数扇形小块。但是粗心服务员将披萨切成了每块大小都完全不同奇数块,且…

【linux命令】文件拷贝工具scp

scp是secure copy的缩写&#xff0c;用于linux之间复制文件和目录&#xff0c;基于ssh登录进行安全的远程文件拷贝命令。这个尤其在一些自动化活动中非常有用。 一、从本地复制到远程 # 语法 # scp -r -P remote_port local_folder remote_userremote_ip:remote_folder# 把本…

1+X 老年照护实训室:老年心理护理的重要性

随着人口老龄化的加剧&#xff0c;老年人口比例不断增加&#xff0c;老年心理健康问题日益凸显。老年心理护理作为老年照护的重要组成部分&#xff0c;对于老年人的身心健康具有重要意义。本文从老年心理护理的定义、重要性和实践意义等方面进行探讨&#xff0c;并提出了提高老…

WPF自定义模板--Button

属性&#xff1a; TemplateBinding&#xff1a;用于在ControlTemplate中绑定到控件的属性&#xff0c;例如Background、BorderBrush等。TargetType&#xff1a;指定该模板应用于哪种控件类型。在这个例子中&#xff0c;是Button。 标准的控件模板代码&#xff1a; <Style…

C# 实现 Modbus TCP 服务端客户端寄存器

以下是一个使用 C# 实现 Modbus TCP 服务端的示例代码。这个示例使用了 NModbus4 库&#xff0c;这是一个开源的 Modbus 库&#xff0c;支持 Modbus TCP 和 Modbus RTU 协议。 首先&#xff0c;您需要安装 NModbus4 库。您可以通过 NuGet 包管理器来安装&#xff1a; Install…

.NETCORE JWT 二

1.自动续期 using **.**.Common.Helper; using Microsoft.AspNetCore.Authentication.JwtBearer; using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Http; using Microsoft.Extensions.DependencyInjection; using Microsoft.IdentityModel.Tokens; using New…

借助 Aspose.Words,在 C# 中将 Word 转换为 Excel

有时我们会遇到需要将 Word 文档&#xff08;DOC 或 DOCX&#xff09;转换为 Excel 文档的任务。例如&#xff0c;这对于数据分析和报告很有用&#xff0c;或者如果您收到了任何文本数据并想将其转换为表格格式&#xff08;XLS 或 XLSX&#xff09;以便进一步工作。在本文中&am…

IAR工程目录移动报错(改变文件目录结构)

刚开始用IAR&#xff0c;记录一下。 工作中使用华大单片机&#xff0c;例程的文件目录结构太复杂了想精简一点。 1.如果原本的C文件相对工程文件&#xff08;.eww文件&#xff09;路径变化了&#xff0c;需要先打开工程&#xff0c;再将所有的.c文件右键Add添加进工程&#xf…

Day50

Spring AOP 概念 AOP全称为Aspect Oriented Programming&#xff0c;表示面向切面编程。切面指的是将那些与业务无关&#xff0c;但业务模块都需要使用的功能封装起来的技术。 AOP基本术语 **连接点&#xff08;Joinpoint&#xff09;&#xff1a;**连接点就是被拦截到的程序执…

Mojo学习

一种面向AI开发者的编程语言叫做Mojo。这种语言的设计目的是为了结合Python的易用性和C/C的性能&#xff0c;同时提供更好的支持给AI开发中常见的加速器&#xff0c;如GPU和其他异构计算设备。Mojo旨在成为一个高性能的编程环境&#xff0c;可以无缝地与Python生态系统的现有库…

第三篇——始计篇:诡计,就是引诱对方犯错误

目录 一、背景介绍二、思路&方案三、过程1.思维导图2.文章中经典的句子理解3.学习之后对于投资市场的理解4.通过这篇文章结合我知道的东西我能想到什么&#xff1f; 四、总结五、升华 一、背景介绍 这一篇讲解了诡计&#xff0c;对于诡计的解释和定位&#xff1b;我们更应…

Flink面试题总结

一、简单介绍一下 Flink Apache Flink 是一个实时计算框架和分布式处理引擎&#xff0c;用于在无边界和有边界数据流上进行有状态的计算 二、Flink集群有哪些角色&#xff1f;各自有什么作用&#xff1f;&#xff08;flink架构&#xff09; --JobManager&#xff1a; JobManag…

win10下安装PLSQL14连接Oracle数据库

问题背景 在使用Oracle开发过程中&#xff0c;经常会使用工具来连接数据库&#xff0c;方便查询、处理数据。其中有很多工具可以使用&#xff0c;比如dbeaver、plsql等。本文主要介绍在win10环境下&#xff0c;plsql14的安装步骤以及安装过程中遇到的一些问题。 安装步骤及问题…

清爽一夏,羊大师伴你健康运动,引领活力生活!

在这个绚烂多彩的夏日&#xff0c;让我们携手踏上一段清爽与健康并行的旅程。阳光炽热&#xff0c;万物生长&#xff0c;正是释放活力、追求健康的最佳时节。“清爽一夏&#xff0c;健康运动引领活力生活&#xff01;”这不仅是一句口号&#xff0c;更是我们向美好生活发出的诚…

BurpSuite抓IOS设备HTTPS流量

一、简述&#xff1a; Burp 这个工具做过 web 安全的人都应该用过&#xff0c;是个非常强大的抓包工具。在 PC 的浏览器上直接配置代理就行了&#xff0c;本篇文章就来介绍一下如何用 Burp 抓 IOS 设备上的流量&#xff0c;很多文章都介绍过怎么抓包&#xff0c;但是很多坑都没…

ai智能语音机器人化繁为简让沟通无界限

人工智能这些年的飞速发展一方面顺应着国家智能化发展的规划&#xff0c;一方面印证着智能改动生活的预言。人工智能的开展与人们最息息相关大约就是智能手机的换代更迭&#xff0c;相信大家都有这方面的感受吧&#xff01;如今企业的电销话务员越来越少&#xff0c;机器人智能…

试用笔记之-汇通计算机等级考试软件一级Windows

首先下载汇通计算机等级考试软件一级Windows http://www.htsoft.com.cn/download/htwork.rar

昇思25天学习打卡营第9天|FCN图像语义分割

FCN是Fully Convolutional Networks的简称&#xff0c;即全卷积网络。区别于全连接网络&#xff0c;全连接网络每层直接cell全部连接&#xff0c;全卷积网络即每层都进行卷积。全卷积网络不包含全连接层。 卷积说有点像缩放&#xff0c;具体的可以参考其他专门的介绍文章。 之…