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

银川网站建设那家公司比较好织梦网站首页是哪个文件

银川网站建设那家公司比较好,织梦网站首页是哪个文件,门户网页,如何查找高权重网站字符串变形 题目描述数据范围要求 示例示例1示例2示例3 解题思路代码实现复杂度分析相关要点 题目描述 对于一个长度为 n 的字符串,需要进行以下变形操作: 将字符串中由空格隔开的单词反序排列反转每个字符的大小写 数据范围 1 ≤ n ≤ 10^6字符串中…

字符串变形

    • 题目描述
      • 数据范围
      • 要求
    • 示例
      • 示例1
      • 示例2
      • 示例3
    • 解题思路
    • 代码实现
    • 复杂度分析
    • 相关要点

题目描述

对于一个长度为 n 的字符串,需要进行以下变形操作:

  1. 将字符串中由空格隔开的单词反序排列
  2. 反转每个字符的大小写

数据范围

  • 1 ≤ n ≤ 10^6
  • 字符串中只包括大写英文字母、小写英文字母、空格

要求

  • 空间复杂度:O(n)
  • 时间复杂度:O(n)

示例

示例1

输入:"This is a sample",16
输出:"SAMPLE A IS tHIS"

示例2

输入:"nowcoder",8
输出:"NOWCODER"

示例3

输入:"iOS",3
输出:"Ios"

解题思路

  1. 整体思路:

    • 先将整个字符串反转
    • 遍历字符串,对每个字符进行大小写转换
    • 对每个单词进行反转
  2. 具体步骤:

    • 定义一个反转函数 reverse,用于反转字符串指定区间的字符
    • 先将整个字符串反转
    • 遍历字符串:
      • 遇到非空格字符时,转换大小写
      • 遇到空格时,反转前面的单词
    • 处理最后一个单词

代码实现

void reverse(char* s, int head, int tail) {while (head < tail) {char temp = s[head];       // 保存头部字符s[head] = s[tail];         // 将尾部字符移到头部s[tail] = temp;            // 将保存的头部字符移到尾部head++;                    // 头部指针向右移动tail--;                    // 尾部指针向左移动}
}
char* trans(char* s, int n) {if (n == 0)return "";                 // 如果字符串长度为0,直接返回空字符串// 先将整个字符串反转reverse(s, 0, n - 1);int j = 0, i;                  // j 用于记录单词的长度,i 用于遍历字符串int mark;                      // mark 用于记录最后一个空格的位置// 遍历处理每个字符for (i = 0; i < n; i++) {if (s[i] != ' ') {         // 如果当前字符不是空格// 转换大小写if (s[i] >= 'a' && s[i] <= 'z') {s[i] = s[i] - 32;  // 小写转大写(ASCII 码差值为32)} else {s[i] = s[i] + 32;  // 大写转小写}j++;                   // 单词长度加1} else {                   // 如果遇到空格// 遇到空格,反转前面的单词reverse(s, i - j, i - 1); // 反转当前单词j = 0;                 // 重置单词长度mark = i;              // 记录空格位置}}// 处理边界情况if (i == j) {                  // 如果整个字符串是一个单词(没有空格)reverse(s, 0, n - 1);      // 反转整个单词}if (mark != 0) {               // 如果字符串中有空格reverse(s, mark + 1, n - 1); // 反转最后一个单词}return s;                      // 返回处理后的字符串
}

复杂度分析

  • 时间复杂度:O(n)
    • 整体反转一次:O(n)
    • 遍历处理字符:O(n)
    • 单词反转:每个字符最多被反转两次,O(n)
  • 空间复杂度:O(1)
    • 只使用了常数额外空间

相关要点

  1. 字符串处理技巧

    • 使用双指针进行字符串反转
    • ASCII码转换实现大小写转换
    • 空格作为单词分隔符的处理
  2. 边界情况处理

    • 空字符串的处理
    • 只有一个单词的情况
    • 最后一个单词的处理
http://www.dtcms.com/wzjs/816843.html

相关文章:

  • 张家口建设局网站wordpress主题修改软件
  • 王野天女演员葛优照片烟台网站建设优化
  • 站长网站提交原神网页制作素材
  • 网站建设培训东莞手机网站开发 视频
  • 软件开发模型是对软件开发过程的一种规范描述惠州短视频seo
  • 做一些网站的弹出页面高校建设网站的特色
  • wordpress 加密网站优化推广是什么
  • wordpress建站苏州做营销网站设计
  • 公司网站能自己做么免费查看采购信息的平台
  • 合肥微信网站制作网站关键词选择
  • 做一个一般的网站需要多少钱wordpress 内容 插件
  • 深圳做营销网站建设可以分销的平台
  • 邢台提供网站建设公司哪家好政务服务中心网站建设实施方案
  • 网站后台上传附件海外推广营销
  • 网站做cnzz流量统计网站建设与管理教程
  • 网站开发学院百度网页版入口
  • 昆明建设网站制作网站开发技术要学什么
  • 龙象建设集团有限公司网站内部网站 建设方案
  • 无锡锡山住房和城乡建设局网站自动推广软件免费
  • 学校网站建设总结做免费看电影的网站不违法吗
  • 做简历网站 39wordpress减压完成后
  • 黄村网站开发公司营销型网站建设哪家便宜
  • 上海模板建站平台晋江网站建设价格多少
  • 做教育网站挣钱网站备案填了虚假座机能过吗
  • 布吉建设网站聚名网域名注册
  • 百度搜索不到网站网页设计制作个人主页欣赏
  • 浙江杰立建设集团网站淮北网站开发
  • 上海建设三类人员网站购物网站界面设计
  • 邢台网站制作网站布局设计规则
  • 运动网站建设主题做网站的前途怎么样