C++从零开始的打怪升级之路(day18)

这是关于一个普通双非本科大一学生的C++的学习记录贴

在此前,我学了一点点C语言还有简单的数据结构,如果有小伙伴想和我一起学习的,可以私信我交流分享学习资料

那么开启正题

今天分享的是关于vector的题目

1.只出现一次的数字1

136. 只出现一次的数字

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

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

这题可以用的方法很多,比如数组计数,排序等,但是符合题目要求的最简单的方法就是位操作,两个相同的数字异或结果为0,0和x异或结果是x,根据以上特性,我们遍历一遍数组全异或一遍,题目就迎刃而解了

class Solution {
public:int singleNumber(vector<int>& nums) {int i=0;int ret = 0;for(i=0;i<nums.size();i++){ret ^= nums[i];}return ret;}
};

这是ac代码

2.只出现一次的数字2

137. 只出现一次的数字 II

给你一个整数数组 nums ,除某个元素仅出现 一次 外,其余每个元素都恰出现 三次 。请你找出并返回那个只出现了一次的元素。

你必须设计并实现线性时间复杂度的算法且使用常数级空间来解决此问题

这题是上面题的升级版,同样的我们还是要在位上下功夫,但是按位异或肯定行不通了,我们得靠别的方法,比如计数,创建一个32大的数组,将数据遍历按位是否为1对数组进行++,最后数组内的数据都是3n和3n+1,这时让ret加上3n+1对应的位,就可以得到想要的答案了,当然这里的重复数字也可以是2,5,7...

class Solution {
public:int singleNumber(vector<int>& nums){int a[32] = { 0 };int i = 0;int ret = 0;for (i = 0; i < nums.size(); i++){int j = 0;for (j = 0; j < 32; j++){if (nums[i] & (1 << j)){a[j]++;}}}for (i = 0; i < 32; i++){if ((a[i] - 1) % 3 == 0){ret += (1 << i);}}return ret;}
};

这是ac代码

今天的博客就到这里了,后续内容明天分享,最近因为考试周原因不能更新太多内容,等考试周结束了再"快马加鞭"

新手第一次写博客,有不对的位置希望大佬们能够指出,也谢谢大家能看到这里,让我们一起学习进步吧!!!

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

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

相关文章

oracle 19c rac集群管理 ------ 日志管理

oracle 19C rac 数据库的目录结构及日志路径 在Oracle 19c RAC&#xff08;Real Application Clusters&#xff09;集群中&#xff0c;有多个组件和层级生成的日志文件&#xff0c;记录着集群的活动、事件和错误信息&#xff0c;用于故障诊断、性能优化和集群管理。以下是常见…

为什么有的人渐渐不点外卖了?

近年来&#xff0c;随着外卖服务的普及&#xff0c;越来越多的人开始依赖外卖来解决饮食问题。然而&#xff0c;现在有些人开始逐渐减少或停止点外卖了。那么&#xff0c;为什么会出现这种情况呢&#xff1f; 首先&#xff0c;外卖食品的质量问题一直是人们关注的焦点。尽管外…

ubuntu 20.04 更新 autoconf 版本

前言 由于最近打算交叉编译 python&#xff0c;依赖 libffi 库&#xff0c;而交叉编译 libffi 库&#xff0c;由于使用的是 github 上的 libffi&#xff0c;又提示 autoconf 版本太低了&#xff0c;所以&#xff0c;先更新 autoconf 的版本 当前 ubuntu 20.04 上安装的 autuco…

工作三年的我在思考,前端还值得学习吗

一、聊这个话题的背景 最近准备换工作&#xff0c;准备了一段时间的简历后&#xff0c;偶然看到群里面有人发了张图片。 虽然颇有调侃的意味&#xff0c;但是联想起过往在公司的工作&#xff0c;项目架构设计向来由后端主管&#xff0c;领导们也基本都是后端&#xff0c;自己日…

消息队列RabbitMQ.02.交换机的讲解与使用

目录 RabbitMQ中交换机的基本概念与作用解析 交换机的作用&#xff1a; 交换机的类型&#xff1a; 直连交换机&#xff08;Direct Exchange&#xff09;&#xff1a; 将消息路由到与消息中的路由键&#xff08;Routing Key&#xff09;完全匹配的队列。 主题交换机&#x…

vue给components动态添加组件

在Vue中&#xff0c;可以使用v-bind指令来动态地将组件添加到其他组件上。 首先&#xff0c;需要定义一个包含所有可能的子组件的数组或对象。然后&#xff0c;通过计算属性&#xff08;computed property&#xff09;根据条件选择要显示的组件。最后&#xff0c;使用<comp…

利用Python与Flet写一个图片无损放大软件

一、前言&#xff1a; 将上传的图片无损放大2倍、4倍、8倍 二、利用Flet写个前端页面&#xff1a; 三、前端页面代码&#xff1a; page.title "图片无所放大"page.vertical_alignment "center"page.window_width 500 # windows width is 200 pxpage…

《小学生作文辅导》期刊投稿邮箱

《小学生作文辅导》是国家新闻出版总署批准的正规教育类期刊&#xff0c;适用于全国各小学语文老师事业单位及个人&#xff0c;具有原创性的学术理论、工作实践、科研成果和科研课题及相关领域等人员评高级职称时的论文发表&#xff08;单位有特殊要求除外&#xff09;。 栏目…

VMware workstation平台下配置Fedora-Server-39-1.5虚拟机网络

VMware workstation平台下配置Fedora-Server-39-1.5虚拟机网络 Fedora包含的软件以自由及开放源码许可来发布&#xff0c;并旨在成为该技术领域的领先者。Fedora在专注创新、抢先集成新技术、与上游Linux社区紧密工作方面拥有良好名声。该文档适用于在VMware workstation平台下…

动态规划学习——赢得最大数

题目&#xff1a; 给一个数组&#xff0c;表示纸牌&#xff0c;每张纸牌有一定的大小 两个人依次选择左边或者右边的纸牌&#xff0c;获得相应的点数 最后点数较大的为胜者 注&#xff1a;两个人都是聪明人&#xff0c;意味着拿牌会选择让自己获得更多的&#xff0c;让对方获得…

小土堆pytorch学习笔记001

1、Pytorch环境的配置与安装。 &#xff08;1&#xff09;建议安装&#xff1a;Anaconda &#xff08;2&#xff09;检查显卡&#xff1a;GPU &#xff08;3&#xff09;管理环境&#xff08;不同版本的pytorch 版本不同&#xff09;&#xff1a; conda create -n pytorch…

Android单元测试(五):网络接口测试

温馨提示&#xff1a;如果你不太熟悉单元测试&#xff0c;可以先看下之前四篇基础框架使用。便于你更好的理解下面的内容。 在平日的开发中&#xff0c;我们用后台写好给我们接口去获取数据。虽然我们有一些请求接口的工具&#xff0c;可以快速的拿到返回数据。但是在一些异常情…

xxe漏洞之scms靶场漏洞

xxe-scms 代码审核 &#xff08;1&#xff09;全局搜索simplexml_load_string simplexml_load_string--将XML字符串解释为对象 &#xff08;2&#xff09;查看源代码 ID1 $GLOBALS[HTTP_RAW_POST_DATA]就相当于file_get_contents("php://input"); 因此这里就存…

Java面试题之基础篇

文章目录 一&#xff1a;谈谈你对面向对象的理解二&#xff1a;JDK、JRE、JVM三者区别和联系三&#xff1a;和equals比较四&#xff1a;hashCode与equals五&#xff1a;final六&#xff1a;String、StringBuffer、StringBuilder七&#xff1a;重载与重写的区别&#xff1f;八&a…

RSI的c#计算,同花顺

同花顺的RSI是移动平滑计算&#xff0c;折腾我半天了。为了算当前值&#xff0c;一定要把前面的值记下来。真麻烦 ///LC : REF(CLOSE,1); /// 当日上涨平均数 前一日涨幅平均数*5/6 当日涨幅/6 &#xff08;若某日下跌时&#xff0c;则当日涨幅记为0&#xff09; …

慎用“from pwn import *”!和re库findall方法重名引发的问题

今天搓一个sage脚本遇到一个很无语的问题&#xff0c;经过调试&#xff0c;发现是pwntools库中的findall方法和re库中的findall方法重名导致的。这两个findall方法的用法完全不一样&#xff0c;稍有不慎就会踩坑。 文章目录 区分问题引发如何规避 区分 re 是 Python 中用于处理…

算法设计与分析实验1:利用减治法和分治法来处理同一个问题

目录 实验1 利用减治法和分治法来处理同一个问题 一、实验目的 二、实验内容和要求 【俄式乘法函数原型及功能说明】 【核心函数实现代码及时间复杂度与空间复杂度分析】 (1)俄式乘法实现代码 (2)时间复杂度:O(log(底数为2)n) (3)空间复杂度:无递归算法,为…

【unity】unity中如何随机选取list中的对象

【背景】 有一组Prefab,在游戏中希望随机Spawn实例。 【代码示例】 在脚本中创建一个List,在Unity编辑器中将需要生成的待选Prefab放入List中。通过随机Index来随机获取List元素实现目标。 using UnityEngine; using System.Collections.Generic;public class RandomSele…

mockjs使用(2)

mockjs使用&#xff08;1&#xff09; 4、Mock 4.1 Mock.mock() 根据数据模版生成模拟数据 Mock.mock( rurl?, rtype?, template|function(options) )问号代表该参数不必填 4.1.1 各参数及其默认值 rurl: 不必填。表示需要拦截的URL&#xff0c;可以使URL字符串或URL正…

Java-SPI机制

SPI基本概念 SPI&#xff08;Service Provider Interface&#xff09;是一种服务发现机制&#xff0c;为某个接口寻找服务实现的机制。这有点类似 IoC 的思想&#xff0c;将装配的控制权移交到了程序之外。SPI 将服务接口和具体的服务实现分离开来&#xff0c;将服务调用方和服…