网球最新消息成功的网站不仅仅是优化排

bicheng/2026/1/15 22:37:53/文章来源:
网球最新消息,成功的网站不仅仅是优化排,手机制作手书app软件,wordpress一直发布失败目录 1、找出字符串中第一个只出现一次的字符 2、字符串相乘 3、反转字符串中的单词 III 4、反转字符串 II 5、字符串相加 6、验证回文串 7、字符串最后一个单词的长度 8、字符串中的第一个唯一字符 9、仅仅反转字母 1、找出字符串中第一个只出现一次的字符 #include…目录 1、找出字符串中第一个只出现一次的字符 2、字符串相乘 3、反转字符串中的单词 III 4、反转字符串 II 5、字符串相加 6、验证回文串 7、字符串最后一个单词的长度 8、字符串中的第一个唯一字符 9、仅仅反转字母 1、找出字符串中第一个只出现一次的字符 #include string #include iostream using namespace std;int main() {string words;while(cin words){bool IsFound false;for(int i 0;iwords.size();i){if(words.find_first_of(words[i]) words.find_last_of(words[i])){cout words.at(i) endl;IsFound true;break;}}if(!IsFound) cout -1 endl;}return 0; } find_first_of从前向后找所给字符的位置作用之一find_last_of从后向前找所给字符的位置作用之一题解同时从前和后两个方向寻找同一个字符找到位置相等则该元素只出现一次否则该元素在字符串中出现两次 2、字符串相乘 解法一 #include string class Solution { public: //num1是乘数num2是被乘数string multiply(string num1, string num2) {if(num1 0 || num2 0)//一个为0相乘结果为0return 0;string ans 0;//初始化存放最终结果的对象int m num1.size() - 1,n num2.size() - 1;//m和n分别表示乘数和被乘数的下标for(int i n ;i 0;i--)//从右向左循环遍历被乘数的每一位{ string curr;//curr作为每次的结果int add 0;//add存储相乘时进位产生的数值for(int j n;j i ;j--)//在开始相乘前补零{curr.push_back(0);}int y num2[i] - 0;//获取被乘数下标为i的字符的对应整数for(int j m ;j 0;j--)//乘数每一位*被乘数{int x num1[j] - 0;//获取乘数下标为j的字符的对应整数int product x * y add;//乘数的个/十/百...位 * 个/十/百...位 进位的数值curr.push_back(product % 10);//取出每次计算的最小位尾插进curradd product / 10;//获取进位数值}while(add ! 0)//for结束时add可能还有(1234*9,最后add 10,还可以再尾插一个1){curr.push_back(add % 10);add / 10;//将该加的都加上}reverse(curr.begin(),curr.end());//翻转字符串(8368-8638string只有尾插没头插)for (auto c : curr)//将ans每个字符转变为对应的整数{c 0;}ans addstring(ans,curr);//每轮相乘的结果传递给add函数进行结果叠加ans是字符串}return ans;//循环结束后返回最终答案}//(0,8638)string addstring(string n1,string n2){ //(i 0,j 3,add 0,)int i n1.size() - 1, j n2.size() - 1, add 0;//i和j是两个下标add还是进位数值string ans;//每次相加的结果while(i0 || j0 || add!0)//让能加的全加完故不用两个数的每一位从右至左一次相加{int x i 0 ? n1[i] - 0 : 0;//下标小于0,则没有什么可以加的了,将其赋值为0即可int y j 0 ? n2[j] - 0 : 0;//下标大于等于0,则获取下标对应的数值int result x y add;//每位相加的同时将之前进位的数值也加上ans.push_back(result % 10);//取结果的最小位尾插进ans,该位会被视为字符插入add result / 10;//获取进位数值i--;//向前比较j--;}reverse(ans.begin(),ans.end());//翻转字符串for (auto c : ans)//隐式转换看下面的题解{c 0;}return ans;} }; 题解  i初始值为n每轮i--但每轮jn且ji故每轮j循环多一次被乘数的个/十百位逐渐变为0reverse是翻转字符串reserve是开辟空间前者要algorithm后者要stringpush_back(2)在ans中存放的是ASCII码值为2的特殊字符而不是ASCII码值为50的22 48 2 48 50 2  解法二  class Solution { public://num1乘数num2是被乘数string multiply(string num1, string num2) {if (num1 0 || num2 0) {return 0;}int m num1.size(), n num2.size();//m和n分别表示num1和num2的大小auto ansArr vectorint(m n);//num1和num2相乘最大的空间是mnfor (int i m - 1; i 0; i--)//i和j分别表示乘数和被乘数的下标从右至左逐位遍历{int x num1[i] - 0;//字符转整数for (int j n - 1; j 0; j--) {int y num2[j] - 0;ansArr[i j 1] x * y;//叠加}}for (int i m n - 1; i 0; i--)//提取进位{ansArr[i - 1] ansArr[i] / 10;//将当前坐标中的数的十位进位加到下一个坐标的存储的数值中ansArr[i] % 10;//当前坐标存储只存储个位数}int index ansArr[0] 0 ? 1 : 0;//最高位是否为0如果是则拷贝的下标从1开始如果不是则从0开始string ans;//返回结果while (index m n) {ans.push_back(ansArr[index]);//向ans中尾插index;}for (auto c: ans)//方法一同理{c 0;}return ans;} }; 3、反转字符串中的单词 III 解法一  class Solution { public:string reverseWords(string s) {string ret;int size s.size();int i 0;while (i size) {int start i;//子串的首下标start// 寻找第一个空格while (i size s[i] ! ){i;}//i的下标是空格的下标而不是空格前一个字符的下标// 将找到的单词逆序加入结果字符串for (int pos i - 1; pos start; --pos)//空格前一个字符的下标是子串的尾下标pos{ret.push_back(s[pos]);}//在子串间插入空格最后一个子串不进行尾插if(i size){ret.push_back( );}i; // 跳过当前的空格字符}return ret;} }; 解法二 class Solution { public:string reverseWords(string s) {int start 0;for(int i 0;is.size();i)//i用来遍历整个数组下标{if(s[i1] || i1 s.size())//即将到达空格或者边界{reverse(s.begin() start,s.begin() i 1);//reverse的翻转范围是左闭右开的空格刚好不会被翻转start i 2;//令start跳过空格}}return s;} }; 4、反转字符串 II class Solution { public:string reverseStr(string s, int k) {for (int i 0; i s.size(); i (2 * k))//每2*k个字符为一段待翻转字符{if (i k s.size())//ik只要不小于size就证明还能再翻转k个就将k个字符进行翻转{reverse(s.begin() i, s.begin() i k);continue;}//不能翻转k个就将剩余的全部翻转reverse(s.begin() i, s.begin() s.size());//翻转[i,size)范围内的字符}return s;} }; 题目很唬人但是将条件整合即可  5、字符串相加 class Solution { public:string addStrings(string num1, string num2) {string ans ;int i num1.size() - 1,j num2.size() - 1,add 0;//i和j分别表示num1和num2的下标,add存放进位值while(i 0 || j 0 || add ! 0){ int x i 0 ? num1[i] - 0 : 0;int y j 0 ? num2[j] - 0 : 0;int result x y add;ans.push_back(result % 10 0);//直接在插入时解决之前要用for来解决的0问题add result / 10;//简简单单--i;--j;}reverse(ans.begin(),ans.end());return ans;} }; 跟字符串相乘处对字符的加操作一致同时将最后for处理的内容直接在push_back处理了  6、验证回文串 解法一  class Solution { public:bool isPalindrome(string s) {string sgood;for (auto ch: s)//逐个读取字符串字符{if (isalnum(ch))//判断是否是字母或数字是就插入sgood,不是就跳过这样就不用管空格了{sgood tolower(ch);}}string sgood_rev(sgood.rbegin(), sgood.rend());//翻转sgood的时将翻转结果存入sgood_revreturn sgood sgood_rev;//返回判断新旧字符串是否相等的结果} };isalnum()函数用于检查一个字符是否是字母或数字tolower()函数检查对string类类型字符串的说函数重载后的结果表示尾插利用范围for和auto关键字可以很好的遍历string类类型的字符串 解法二 class Solution { public:bool isPalindrome(string s) {string sgood;for (char ch: s) {if (isalnum(ch)) {sgood tolower(ch);}}int n sgood.size();int left 0, right n - 1;while (left right) {if (sgood[left] ! sgood[right]) {return false;}left;--right;}return true;} }; 双指针easy拿下 解法三 class Solution { public:bool isPalindrome(string s) {//回文串左右两端的字母应该是对称的int n s.size();int left 0, right n - 1;while (left right) {while (left right !isalnum(s[left]))//跳过非数字和字母如果s[left]处是数字和字母则!isalnum结果为假否则为真{//当返回结果为真(s[left]处不是字母和数字就令left向右走到一个s[left]处是字母和数字的位置)left;}//防止比较过程中出现的空字符打乱比较对象只能让字母和数字参与比较while (left right !isalnum(s[right]))//同理{--right;}if (left right)//如果此时两指针仍未相遇{if (tolower(s[left]) ! tolower(s[right]))//判断双方此时所指向的字母(已转换为小写)是否相同{return false;//只要有一个不同就返回false}left;//如果相同就令两指针继续向中间靠拢--right;}}return true;/循环结束则返回true} };遇到空格就继续向前走因为空格不是参与比较的对象  7、字符串最后一个单词的长度 抽象题解  #includeiostream using namespace std;int main() {string s;while(cin s);cout s.size();return 0; } C题解 #include iostream #includestring #include algorithm using namespace std;int main() {string a;getline(cin, a);int size a.size(),count 0;reverse(a.begin(),a.end());while(a[count]! count size)//注意考虑整个字符串就是一个单词的情况{count;}coutcount; } getline() 函数是用于从输入流中读取一行文本的函数 8、字符串中的第一个唯一字符 class Solution { public:int firstUniqChar(string s) {for(int i 0; i s.size() ; i){if(s.find(s[i]) s.rfind(s[i])){return i;}}return -1;} }; find从左向右找子串第一次出现的位置rfind从右向左找子串第一次出现的位置find_first_of正向查找在原字符串中第一个与指定字符串或字符中的某个字符匹配的字符返回它的位置find_last_of逆向查找在原字符串中最后一个与指定字符串或字符中的某个字符匹配的字符返回它的位置逆向查找因为有\0所以最后一个有效字符的索引为1\0为0 string str“abcdefab”;coutstr.find_last_of(“wab”,5)endl;//从原串中下标为5开始逆向查找首先f与待查子串每一字符比较若有相同的就输出该字符在原串的下标。若一个都没有就依次逆向比较即e再与待查子串一一比较直到原串的b与待查子串中的b相同然后输出该b在原串的下标1 9、仅仅反转字母 解法一  class Solution { public:string reverseOnlyLetters(string s) {int n s.size();int left 0, right n - 1;while (true) {while (left right !isalpha(s[left])) { // 判断左边是否扫描到字母left;}while (right left !isalpha(s[right])) { // 判断右边是否扫描到字母right--;}if (left right)//双指针相遇或相遇后错开就终止循环{break;}swap(s[left], s[right]);//交换此时两个指针所指向的字母left;right--;}return s;} }; isalpha()C标准库函数用于检查字符是否为字母字符包含在cctype头文件  解法二 class Solution { public:string reverseOnlyLetters(string S) {int begin 0,endS.length()-1;while(beginend){if(!isalpha(S[begin]))begin;if(!isalpha(S[end])) end--;if(isalpha(S[begin])isalpha(S[end]))swap(S[begin],S[end--]);}return S; } }; ~over~

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

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

相关文章

wordpress能开发商城网站吗品牌网站建设 2蝌蚪小

如何反溯源隐藏自己的源IP防止溯源? 还有些大牛会进行渗透攻击、CC攻击,溯源打服务器,各式各样的,防不胜防。所以很多站长套起了cdn,比起cdn提供的加速效果,更多的站长可能还是为了保护那可怜弱小的源站ip…

东昌府聊城做网站公司jsp网站入门

抽象工厂模式(Abstract Factory Pattern)是一种创建型设计模式,它提供了一个接口,用于创建一系列相关或相互依赖的对象,而无需指定它们具体的类。抽象工厂模式是围绕一个超级工厂创建其他工厂的模式。该模式的实现涉及…

威海网站优化推广下载手机app的软件

全世界只有3.14 % 的人关注了数据与算法之美2018年6月4日,微软在官方博客上宣布:以75 亿美元的价格收购了全球最大的开源代码托管平台GitHub。谁也没想到,微软和开源这场长达几十年的战争,到最后双方竟然喜结连理了。不过&#xf…

长沙做公司网站大概多少钱三角镇建网站公司

😁 作者简介:一名大四的学生,致力学习前端开发技术 ⭐️个人主页:夜宵饽饽的主页 ❔ 系列专栏:Node.js 👐学习格言:成功不是终点,失败也并非末日,最重要的是继续前进的勇…

湛江住房和城乡建设局网站手机营销型网站建设

为了顺应不断变化的市场需求,有些行业慢慢销声匿迹,有些行业刚刚崭露头角,目前陪诊的市场需求也在逐渐扩大,陪诊小程序也随之到来,主要面向独居老人,孕妇,残障人士等等给予专业性的陪诊就医服务…

php网站开发开发网站教程湖北神润建设工程网站

本篇文章帮大家学习java 如何中断线程,包含了Java 如何中断线程使用方法、操作技巧、实例演示和注意事项,有一定的学习价值,大家可以用来参考。以下实例演示了如何使用interrupt()方法来中断线程并使用 isInterrupted() 方法来判断线程是否已…

网站建设备案方案顶易云外贸软件

sockaddr结构体 sockaddr结构体是在网络编程中经常使用的一个数据结构,用来表示套接字地址。它是一个通用的地址结构,可以用于不同的协议(如IPv4、IPv6、UNIX等)。 在C语言中,sockaddr结构体定义如下: s…

织梦后台怎么做导航栏的网站首页网站的意思

在 Node-RED 规则引擎中,自定义节点是扩展其功能的重要方式。通过添加自定义节点,用户可以根据自己的需求定制节点,实现特定的功能。下面将介绍如何对 Node-RED 规则引擎进行重构,并添加自定义节点。 一、准备环境 首先&#xf…

宣传片制作企业济宁优化公司

在某些类中, 什么时机, 做什么事情 切入点(point-cut): 在某些类中(Class<?>[] itfc new Class<?>[] { IStudentService.class }) 通知: 什么时机, 做什么事情(InvocationHandler的invoke方法) 切面: 切入点 通知 织入(weaver): Proxy.newProxyInstance: 把切入…

新型网站设计网站经营范围

ChatGLM2-6B_ An Open Bilingual Chat LLM _ 开源双语对话语言模型 文章目录 ChatGLM2-6B_ An Open Bilingual Chat LLM _ 开源双语对话语言模型一、介绍二、使用方式1、环境安装2、代码调用3、从本地加载模型 4、API 部署 三、低成本部署1、模型量化2、CPU 部署3、Mac 部署4、…

网站建设邮医院网站开发百度文库

文章目录 序言准备环境准备图片处理图片下载kohya_ss代码修改pyvenv.cfg启动界面访问地址生成字幕准备训练的文件夹配置训练参数开始训练遇到的问题&#xff1a; 序言 在把玩stable diffusion的webUI和comfyUI后&#xff0c;思考着自己也微调一个个性化风格的checkpoint、LyCO…

国产做网站电子工程建设信息网站

Redis 除了做缓存,还能干很多很多事情:分布式锁、限流、处理请求接口幂等性。。。 1.准备工作 首先创建一个 Spring Boot 工程,引入 Web 和 Redis 依赖,同时考虑到接口限流一般是通过注解来标记,而注解是通过 AOP 来解析的,所以还需要加上 AOP 的依赖,最终的依赖如下:…

用手机搭建自己的网站建设网站的公司swot

你是否因为虚拟机命令行操作不便而头疼&#xff1f;是否因为难以复制粘贴而烦恼&#xff1f;是否因为无法快速上传文件而烦躁&#xff1f; 别急&#xff01;现在有一个简单便捷的软件能够实现上述你所述说的所有烦恼&#xff0c;请听我细细道来~ 一、查看虚拟机的ip地址 a.首…

做代理网站用什么软件科技公司起名

权限管理和访问控制 1、MySQL如何控制用户对数据库的访问&#xff1f; MySQL服务器通过权限表来控制用户对数据库的访问&#xff0c;权限表存放在MySQL数据库中。MySQL数据库系统根据这些权限表的内容来为每个用户赋予权限。其中有user表、db表、table_priv表、column_priv表…

什么叫商城网站一个人在线观看播放视频

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 一、class类1.类属性操作&#xff08;增删改&#xff09;2.类方法操作 二、类的继承1、语法2、方法重写 二、类的多态 一、class类 、三部分组成 1、类名&#xff…

网站手机版怎么弄网站建设与优化合同

文章目录 一、设计框图二、模块设计三、IP核配置四、上板验证五、总结 一、设计框图 关于GT高速接口的设计一贯作风&#xff0c;万兆以太网同样如此&#xff0c;只不过这里将复位逻辑和时钟逻辑放到了同一个文件ten_gig_eth_pcs_pma_0_shared_clock_and_reset当中。如果是从第…

做编程网站有哪些内容php源码怎么搭建网站

TCP和UDP的概念、特点、区别和对应的使用场景&#xff1f; 我的回答&#xff1a; 概念&#xff1a; TCP是传输控制协议&#xff0c;是面向连接、可靠的、基于字节流的传输层通信协议。 UDP是用户数据报协议&#xff0c;是无连接、不可靠的&#xff0c;基于数据包的传输层通信…

网站备案是需要去哪里做网站flash制作教程

笔记来源—— 【工程数学基础】9_阈值如何选取&#xff1f;&#xff1f;在机器视觉中应用正态分布和6-Sigma【这是一期不需要记笔记的轻松视频&#xff0c;简单的知识&#xff0c;重要的运用】 比如我们要识别我们的产品上面是否有保护膜&#xff0c;我们可以通过白色像素点的…

烟台做网站哪里好淄博网站制作公司定制

一、PO :(persistant object )&#xff0c;持久对象 可以看成是与数据库中的表相映射的java对象。使用Hibernate来生成PO是不错的选择。 二、VO :(value object) &#xff0c;值对象 通常用于业务层之间的数据传递&#xff0c;和PO一样也是仅仅包含数据而已。但应是抽象出的…

湖北什么是网站建设大数据营销的应用领域

12月5日上午&#xff0c;故宫博物院与周大福珠宝集团战略合作签约仪式在故宫博物院故宫文化资产数字化应用研究所举行。文化和旅游部党组成员、故宫博物院院长王旭东&#xff0c;国际儒学联合会常务副会长、原文化部副部长丁伟&#xff0c;国际儒学联合会特别顾问、中国国际友好…