当前位置: 首页 > news >正文

用html5做的商务网站乔拓云的品牌推广方案

用html5做的商务网站,乔拓云的品牌推广方案,分析一个网页设计,网站建设如何账务处理博客主页#xff1a; [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: C 文章目录 #x1f4af;前言#x1f4af;题目描述输入格式#xff1a;输出格式#xff1a;样例#xff1a; #x1f4af;方法一#xff1a;我的第一种做法思路代码实现解析 #x1f4af;方法二#xff1a;我… 博客主页 [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: C 文章目录 前言题目描述输入格式输出格式样例 方法一我的第一种做法思路代码实现解析 方法二我的第二种做法思路代码实现解析改进建议 方法三老师的第一种做法思路代码实现解析优点 方法四老师的第二种做法思路代码实现解析优点缺点 对比分析扩展空间优化和实际应用小结 前言 判断一个字符串是否为回文是编程中常见的问题。回文字符串是指从前往后读与从后往前读都一样的字符串。例如“abcdedcba” 就是回文而 “abcde” 则不是。对于这类问题我们可以采用多种不同的算法来解决。在本篇文章中我们将分析四种不同的做法并进行对比与优化以帮助大家更好地理解如何判断字符串是否为回文。 C 参考手册 题目描述 B2124 判断字符串是否为回文 输入一个字符串判断该字符串是否是回文。回文是指顺读和倒读都一样的字符串。 输入格式 输入一行字符串长度小于100。 输出格式 如果字符串是回文输出 yes否则输出 no。 样例 输入 abcdedcba输出 yes方法一我的第一种做法 思路 我的第一种做法是通过反转字符串来判断回文。首先我们将原字符串反转然后与原字符串进行比较。如果反转后的字符串与原字符串相等则说明原字符串是回文。 代码实现 #include iostream #include string using namespace std;int main() {string s;cin s; // 输入字符串int left 0;int right s.size() - 1;// 检查字符串的前半部分是否与后半部分对称while (left right) {if (s[left] ! s[right]) {cout no endl; // 如果有不同字符输出noreturn 0;}left;right--;}cout yes endl; // 如果没有不同字符输出yesreturn 0; }解析 反转字符串通过双指针方式使用 left 和 right 两个指针分别从字符串的两端开始向中间移动逐个比较字符。时间复杂度O(n)其中 n 是字符串的长度。我们最多需要遍历字符串的前半部分进行字符比较。空间复杂度O(1)仅使用了常数的空间来存储指针 left 和 right。 方法二我的第二种做法 思路 在我的第二种做法中我尝试使用了两次循环首先将字符串反转到一个新的字符串 s2 中然后通过逐字符对比 s2 和原字符串 s1 是否一致来判断回文。 代码实现 #include iostream #include string using namespace std;int main() {string s1, s2;while(cin s1) {s2.resize(s1.size()); for(int i s1.size() - 1; i 0; i--) {s2[s1.size() - i - 1] s1[i];}int temp 1;for(int i 0; i s1.size(); i) {if(s2[i] ! s1[i]) {temp 0;break;}}if(temp)cout yes endl;elsecout no endl;}return 0; }解析 字符串反转首先创建一个 s2 字符串并使用 for 循环反转 s1 字符串的内容存储到 s2 中。回文判断然后通过逐个字符对比 s2 和 s1如果遇到不同的字符则输出 no。存在问题 s2 没有预先调整大小 s2 在反转前没有设置大小可能会导致内存越界。可以通过 resize 来调整其大小。逻辑错误break 的位置存在问题导致判断逻辑不正确跳出循环时判断不够精确。 改进建议 通过双指针法可以优化空间使用并且避免了额外的字符串存储开销。具体改进后我们会在后面介绍。 方法三老师的第一种做法 思路 老师的第一种做法采用了双指针法。这是一种非常高效的方法。通过两个指针分别从字符串的两端开始逐个比较字符如果出现不同的字符就可以直接返回 no否则直到两个指针相遇时输出 yes。 代码实现 #include iostream #include string using namespace std;int main() {string s;cin s; // 输入字符串int left 0;int right s.size() - 1;while (left right) {if (s[left] ! s[right]) {cout no endl; // 如果有不同字符输出noreturn 0;}left;right--;}cout yes endl; // 如果没有不同字符输出yesreturn 0; }解析 双指针法通过两个指针 left 和 right 从字符串的两端向中间逼近。每次比较 s[left] 和 s[right]如果发现不相等直接返回 no否则继续向中间推进。时间复杂度O(n)每次最多需要遍历一次字符串的长度。空间复杂度O(1)只使用了常数空间来存储两个指针。 优点 空间复杂度为 O(1)避免了额外的空间开销。效率高每次只进行一次字符比较比反转字符串的方法更直接且高效。 方法四老师的第二种做法 思路 老师的第二种做法使用了标准库中的 reverse 函数将字符串反转后直接与原字符串进行比较。这是一种简洁的做法但其空间复杂度稍高因为需要额外的存储空间来保存反转后的字符串。 代码实现 #include iostream #include algorithm #include string using namespace std;int main() {string s;cin s;string t s;reverse(t.begin(), t.end()); // 反转字符串if (t s) cout yes endl;elsecout no endl;return 0; }解析 字符串反转利用 reverse 函数将字符串 s 反转并保存到 t 中。回文判断通过直接比较反转后的字符串 t 和原字符串 s 是否相等来判断回文。 优点 代码简洁通过标准库函数代码更加简洁和易懂。实现简单使用 reverse 可以减少手动反转字符串的工作量。 缺点 空间复杂度为 O(n)因为需要额外的字符串 t 来存储反转后的字符串。 对比分析 空间复杂度 我的第一种做法和老师的第一种做法都使用了 O(1) 空间通过双指针来直接判断回文。我的第二种做法和老师的第二种做法需要额外的 O(n) 空间来存储反转后的字符串。 时间复杂度 所有方法的时间复杂度均为 O(n)其中 n 是字符串的长度。 可读性与简洁性 我的第二种做法和老师的第二种做法通过反转字符串代码简单易懂。我的第一种做法和老师的第一种做法更加高效避免了不必要的空间开销。 扩展空间优化和实际应用 在一些实际应用中空间的使用往往是一个重要的考虑因素。如果我们能够通过优化算法减少空间复杂度将会使得程序更高效。双指针法就是在空间优化方面的一个典型例子它避免了反转字符串时的额外存储。 小结 本文通过分析四种不同的做法来判断字符串是否为回文比较了它们在空间和时间复杂度上的表现。通过这几种做法我们可以发现双指针法在空间和时间上的优势较为明显是最为推荐的解决方案。当然对于小规模的问题使用字符串反转的做法也不失为一种简洁高效的选择。 希望本篇文章能够帮助大家更好地理解字符串回文判断的不同做法并能够根据实际问题选择合适的算法。
http://www.w-s-a.com/news/329581/

相关文章:

  • 公司开发的网站健身网站开发项目总结
  • 怎样做游戏网站网站建设万首先金手指14
  • 英德建设局网站龙岩网上房地产网
  • wordpress vr网站电影网页设计尺寸
  • 做淘宝客新增网站推广怎样开一家公司
  • 企业网站有必要做吗?网站平均停留时间
  • 蘑菇街的网站建设凡科网站建设网页怎么建
  • 中国光大国际建设工程公司网站论坛是做网站还是app好
  • 地产集团网站建设高德是外国公司吗?
  • 天津市网站建站制作网站建设新报价图片欣赏
  • 怎么样在百度搜到自己的网站高端房产网站建设
  • 邯郸做移动网站多少钱ui设计好就业吗
  • 共享虚拟主机普惠版做网站产品推广包括哪些内容
  • 广州市网站建站免费咨询医生有问必答
  • app网站建设制作哪个网站可以做魔方图片
  • 教育培训网站建设方案模板下载网站文风
  • 电龙网站建设wordpress文章两端对齐
  • 做外单网站亚马逊免费的网站加速器
  • 英文网站推广工作一个虚拟主机可以做几个网站吗
  • 微网站 合同重庆电力建设设计公司网站
  • 网站怎么设置支付网站源码下载后怎么布置
  • 广州市公需课在哪个网站可以做手机商城软件下载
  • app网站建设需要什么长治网站建设公司
  • 网站模板平台广告宣传网站
  • cc域名的网站做网站放太多视频
  • 让公司做网站要注意什么建设工程公司企业文化
  • 佛山搭建建网站哪家好微信如何建立自己的公众号
  • 联想公司网站建设现状广州建网站兴田德润团队
  • 网站开发的技术有网页设计实训报告工作内容和步骤
  • 视频做网站长沙网站制作平台