(80) 只出现一次的数字(81)反转字符串
文章目录
- 1. 每日一言
- 2. (80) 只出现一次的数字
- 2.1 解题思路
- 2.2 代码
- 3. (81)反转字符串
- 3.1 解题思路
- 3.2 代码
- 4. 结语
1. 每日一言
生活是一场即兴表演,值得庆幸的是我们总是有所感受,并且将一直感受下去。
2. (80) 只出现一次的数字
题目链接:只出现一次的数字
给你一个 非空 整数数组 nums ,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。
你必须设计并实现线性时间复杂度的算法来解决此问题,且该算法只使用常量额外空间。
-
示例 1 :
输入:nums = [2,2,1]
输出:1 -
示例 2 :
输入:nums = [4,1,2,1,2]
输出:4 -
示例 3 :
输入:nums = [1]
输出:1
提示:
1 <= nums.length <= 3 * 104
-3 * 104 <= nums[i] <= 3 * 104
除了某个元素只出现一次以外,其余每个元素均出现两次。
2.1 解题思路
创建一个变量sum,然后遍历整个数组,对数组中的每个数字执行异或运算。由于异或运算满足交换律和结合律,相同的数字经过异或运算会变为0,因此最终sum的值将是那个只出现一次的数字。
2.2 代码
int singleNumber(int* nums, int numsSize) {int sum = 0;for(int i = 0; i < numsSize; i++) {sum ^= nums[i];}return sum;
}
3. (81)反转字符串
题目链接:反转字符串
编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。
不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。
-
示例 1:
输入:s = [“h”,“e”,“l”,“l”,“o”]
输出:[“o”,“l”,“l”,“e”,“h”] -
示例 2:
输入:s = [“H”,“a”,“n”,“n”,“a”,“h”]
输出:[“h”,“a”,“n”,“n”,“a”,“H”]
提示:
1 <= s.length <= 105
s[i] 都是 ASCII 码表中的可打印字符
3.1 解题思路
- 初始化左指针left为0,右指针right为字符串长度sSize-1。
- 当left小于right时,交换s[left]和s[right]的值,然后left指针右移,right指针左移。
- 重复步骤2,直到left不再小于right,这时字符串s就被完整反转了。
- 举个例子来说,假设输入的字符串为"hello",经过上述步骤:
初始时,left指向’h’,right指向’o’,交换它们的值,字符串变为"oellh",left右移,right左移。
接着,left指向’e’,right指向’l’,交换它们的值,字符串变为"olelh",left右移,right左移。
然后,left指向’l’,right指向’e’,交换它们的值,字符串变为"olleh",left右移,right左移。
最后,left指向’l’,right指向’l’,它们相等,不做交换,整个过程结束。
3.2 代码
void reverseString(char* s, int sSize) {int left = 0;int right = sSize-1;char tmp = 0;while(left < right) {tmp = s[left];s[left] = s[right];s[right] = tmp;++left;--right;}
}
4. 结语
请给自己些耐心,不要急于求成。
山外青山楼外楼,莫把百尺当尽头。
保持空杯心态加油努力吧!
都看到这里啦!真棒(*^▽^*)
可以给作者一个免费的赞赞吗,这将会鼓励我继续创作,谢谢大家
编程小白写作,如有纰漏或错误,欢迎指正
相关文章:
(80) 只出现一次的数字(81)反转字符串
文章目录 1. 每日一言2. (80) 只出现一次的数字2.1 解题思路2.2 代码 3. (81)反转字符串3.1 解题思路3.2 代码 4. 结语 1. 每日一言 生活是一场即兴表演,值得庆幸的是我们总是有所感受,并且将一直感受下去。 2. (80) 只出现一次的数字 题目链接&#x…...
基于拉格朗日分布算法的电动汽车充放电调度MATLAB程序
微❤关注“电气仔推送”获得资料(专享优惠) 程序简介 该模型主要做的是基于拉格朗日分布算法的电动汽车充放电调度模型。利用蒙特卡洛模拟法模拟出电动汽车负荷曲线,并求解出无序充电功率曲线和有序充电曲线,该模型在电动汽车个…...
【Linux 学习】进程优先级和命令行参数!
1. 什么是优先级? 指定进程获取某种资源(CPU)的先后顺序; Linux 中优先级数字越小,优先级越高; 1.1 优先级和权限的区别? 权限 : 能不能做 优先级: 已经能了,但是获…...
Git删除未跟踪的文件Untracked files
在 Git 中,要删除未跟踪的文件(Untracked files),你可以使用 git clean 命令。请注意,这个命令会从你的工作目录中永久删除这些文件,因此在执行之前请确保你不再需要这些文件或已经妥善备份。 以下是如何使…...
S7-1200PLC控制V90伺服通过FB284实现位置控制的方法
S7-1200PLC控制V90伺服通过FB284实现位置控制的方法 通过西门子报文111和FB284功能块 在V-ASSISTANT中将V90 PN设置控制模式为"基本位置控制(EPOS)" V90 PN与PLC采用PROFINET RT通信方式并使用西门子报文111。 在博途中V90 PN的设备视图中更改报文为:报文111 安装…...
2024年阿里云优惠券领取和使用方法
阿里云优惠代金券领取入口,阿里云服务器优惠代金券、域名代金券,在领券中心可以领取当前最新可用的满减代金券,阿里云百科aliyunbaike.com分享阿里云服务器代金券、领券中心、域名代金券领取、代金券查询及使用方法: 阿里云优惠券…...
工业项目中你连PLM系统都没见过?
什么是 PLM 软件? PLM 软件是用于管理全球供应链中产品或服务全生命周期环节的解决方案。它包括从物料、零部件、产品、文档、规定、工程变更单到质量工作流的数据管理。 PLM 的发展历史 从最初的产品设计管理到如今的数字化转型和智能化生产,PLM 在不断…...
【QT入门】 Qt自定义控件与样式设计之QPushButton实现鼠标悬浮按钮弹出对话框
往期回顾: 【QT入门】 Qt自定义控件与样式设计之qss选择器-CSDN博客 【QT入门】 Qt自定义控件与样式设计之QLineEdit的qss使用-CSDN博客 【QT入门】Qt自定义控件与样式设计之QPushButton常用qss-CSDN博客 【QT入门】 Qt自定义控件与样式设计之QPushButton实现鼠标悬…...
C盘变红怎么办?免费的系统C盘清理方法,C盘空间占用克星
百夫说:分享免费又好用的工具,是一件快乐的事情。 正文: 起因:C盘报警,系统变慢 立即下载XX系统清理大师,搜索出垃圾数据近30G,开心的点击“一键清理”,结果提示要收费:…...
简述VPS 与 Apache 搭建网站方式对比:新手科普指南
在互联网时代,拥有一个网站对于个人、企业以及组织来说已经成为了必备的一项资源。然而,对于新手来说,如何搭建一个网站可能是一个挑战。在这篇文章中,我将探讨两种常见的搭建网站的方式:使用虚拟专用服务器࿰…...
js获取年月份
一、date 如何使用、如何获取年月日时分秒、时间戳、如何获取指定日期的时间戳或周几 1..Date 对象用于处理日期和时间。 创建 Date 对象的语法: var myDatenew Date() 获取年月日时分秒: // 格式化日对象 const getNowDate () > {let date new …...
Promise常用方法及区别
一、实例方法 let _fun new Promise((resolve, reject) > {reject("失败!"); }); /* resolve:异步操作成功时调用的回调函数。 reject:异步操作失败时调用的回调函数。 */ _fun.then(res > { // 成功console.log(res: , re…...
pyqt 标题栏设置
在PyQt中,可以通过QWidget或其子类(如QMainWindow或QDialog)的setWindowTitle()方法来设置窗口的标题栏。以下是一个简单的例子,展示了如何为应用程序的主窗口设置标题: import sys from PyQt5.QtWidgets import QApp…...
关于可视化大屏适配
一、目前市场上适配方案有两种; vw、vh方案: 原理:按照设计稿的尺寸,将px按比例计算转为vw和vh; 优点:不会存在失真情况、可以动态计算图表的宽高,字体等,灵活性较高,…...
如何用composer来安装和配置LAMP环境?
LAMP环境是一个开发和运行Web应用程序的常见环境,它由Linux、Apache、MySQL和PHP组成。Composer是一个用于管理PHP依赖关系的工具,可以方便地安装和配置LAMP环境中的各种软件包。下面是使用Composer安装和配置LAMP环境的步骤: 安装Composer&a…...
题目:学习使用按位取反~。
题目:学习使用按位取反~。 There is no nutrition in the blog content. After reading it, you will not only suffer from malnutrition, but also impotence. The blog content is all parallel goods. Those who are worried about being cheated should leav…...
vue3第十六节(keep-alive 内置组件)
keep-alive 1、目的 在使用组件时,有时我们需要将组件进行缓存,而不是重新渲染,用以提高性能,避免重复加载DOM,提升用户的体验; keep-alive 组件可以做到这一点,它允许你缓存组件实例…...
跨域和跨域解决方案
跨域 制定HTML规则时,出于安全的考虑,一个源的网站不允许与另一个源的资源进行交互,浏览器制定此规则为同源策略。 同源即指的网站具有相同的域,即 协议(protocol)、主机(host)、端口号(port) 相同。 跨域资源嵌入是允许的&am…...
数学基础:矩阵
来自: https://www.shuxuele.com/algebra/matrix-determinant.html 一、矩阵的行列式 二、矩阵简单知识 三、矩阵乘法 四、单位矩阵 五、逆矩阵一:简单2阶矩阵求法 六、逆矩阵二:3、4阶逆矩阵求法 6.1 求余子式矩阵 6.2 求代数余子式矩阵 6.3 求伴随矩阵…...
Windows完全卸载MySQL后再下载安装(附安装包)
目录 友情提醒第一章:如何完全卸载干净mysql教程(三个步骤完全卸载)1)步骤一:卸载程序2)步骤二:删除文件3)步骤三:删除注册表信息 第二章:下载软件两种方式1&…...
第四部分-Docker网络与存储——20. 数据持久化
20. 数据持久化 1. 数据持久化概述 容器默认情况下数据是临时的,当容器删除时数据也会丢失。数据持久化是生产环境中必须解决的问题,Docker 提供了多种数据持久化方案。 ┌──────────────────────────────────────…...
【SITS大会独家内幕】:20年技术出版人亲述图书签售背后的5大行业趋势与3个未公开合作线索
更多请点击: https://intelliparadigm.com 第一章:【SITS大会独家内幕】:20年技术出版人亲述图书签售背后的5大行业趋势与3个未公开合作线索 在2024年SITS(Software Innovation & Tech Symposium)大会主会场外的“…...
掌握Windows与Office智能激活:KMS_VL_ALL_AIO技术深度解析
掌握Windows与Office智能激活:KMS_VL_ALL_AIO技术深度解析 【免费下载链接】KMS_VL_ALL_AIO Smart Activation Script 项目地址: https://gitcode.com/gh_mirrors/km/KMS_VL_ALL_AIO 还在为Windows系统激活和Office软件授权问题困扰吗?KMS_VL_ALL…...
N_m3u8DL-RE:如何用现代下载工具解决流媒体下载三大技术难题?
N_m3u8DL-RE:如何用现代下载工具解决流媒体下载三大技术难题? 【免费下载链接】N_m3u8DL-RE Cross-Platform, modern and powerful stream downloader for MPD/M3U8/ISM. English/简体中文/繁體中文. 项目地址: https://gitcode.com/GitHub_Trending/…...
完全掌握ThinkPad散热优化:专业级风扇控制实战攻略
完全掌握ThinkPad散热优化:专业级风扇控制实战攻略 【免费下载链接】TPFanCtrl2 ThinkPad Fan Control 2 (Dual Fan) for Windows 10 and 11 项目地址: https://gitcode.com/gh_mirrors/tp/TPFanCtrl2 TPFanCtrl2是一款专为ThinkPad笔记本电脑设计的开源风扇…...
仅限首批200家通过SITS2026容错认证的企业在用:AIAgent故障注入测试的8步标准化流程
更多请点击: https://intelliparadigm.com 第一章:SITS2026容错认证体系的演进逻辑与战略价值 SITS2026容错认证体系并非对传统安全模型的简单增强,而是面向高动态、强异构、多边协同数字基础设施所构建的第三代可信计算范式。其核心演进逻辑…...
SingleFile终极指南:如何一键保存完整网页到单个HTML文件
SingleFile终极指南:如何一键保存完整网页到单个HTML文件 【免费下载链接】SingleFile Web Extension for saving a faithful copy of a complete web page in a single HTML file 项目地址: https://gitcode.com/gh_mirrors/si/SingleFile SingleFile是一款…...
Python开发者三步完成Taotoken多模型API接入指南
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 Python开发者三步完成Taotoken多模型API接入指南 对于需要调用多种大模型的Python开发者而言,为每个模型单独配置API密…...
ImageGlass:如何构建高效开源图像查看器,90+格式支持与模块化架构深度解析
ImageGlass:如何构建高效开源图像查看器,90格式支持与模块化架构深度解析 【免费下载链接】ImageGlass 🏞 A lightweight, versatile image viewer 项目地址: https://gitcode.com/gh_mirrors/im/ImageGlass 在数字图像处理日益复杂的…...
Obsidian BMO Chatbot:基于RAG与LLM的个人知识库智能问答实践
1. 项目概述:当知识库遇上AI助手如果你和我一样,是Obsidian的重度用户,那么你一定体会过那种“知识在手边,却不知如何用”的尴尬。笔记越记越多,形成了一个庞大的个人知识库,但当你需要快速查找某个概念、串…...
