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

用动态和静态设计一个网站四川建设信息网

用动态和静态设计一个网站,四川建设信息网,海南最近三天的新闻大事,专门做旅游尾单的网站其他系列文章导航 Java基础合集数据结构与算法合集 设计模式合集 多线程合集 分布式合集 ES合集 文章目录 其他系列文章导航 文章目录 前言 一、题目描述 二、题解 2.1 方法一#xff1a;双指针 2.2 方法二#xff1a;分割 倒序 三、代码 3.1 方法一#xff1a;双… 其他系列文章导航 Java基础合集数据结构与算法合集 设计模式合集 多线程合集 分布式合集 ES合集 文章目录 其他系列文章导航 文章目录 前言 一、题目描述 二、题解 2.1 方法一双指针 2.2 方法二分割 倒序 三、代码 3.1 方法一双指针 3.2 方法二分割 倒序 四、复杂度分析 4.1 方法一双指针 4.2 方法二分割 倒序 前言 这是力扣的151题难度为中等解题方案有很多种本文讲解我认为最奇妙的两种。 一、题目描述 给你一个字符串 s 请你反转字符串中 单词 的顺序。 单词 是由非空格字符组成的字符串。s 中使用至少一个空格将字符串中的 单词 分隔开。 返回 单词 顺序颠倒且 单词 之间用单个空格连接的结果字符串。 注意输入字符串 s中可能会存在前导空格、尾随空格或者单词间的多个空格。返回的结果字符串中单词间应当仅用单个空格分隔且不包含任何额外的空格。 示例 1 输入s the sky is blue 输出blue is sky the 示例 2 输入s  hello world   输出world hello 解释反转后的字符串中不能存在前导空格和尾随空格。示例 3 输入s a good   example 输出example good a 解释如果两个单词间有多余的空格反转后的字符串需要将单词间的空格减少到仅有一个。提示 1 s.length 104s 包含英文大小写字母、数字和空格  s 中 至少存在一个 单词 进阶如果字符串在你使用的编程语言中是一种可变数据类型请尝试使用 O(1) 额外空间复杂度的 原地 解法。 二、题解 2.1 方法一双指针 思路与算法 先去首尾空格。倒序遍历字符串 s 记录单词左右索引边界 i , j 。每确定一个单词的边界则将其添加至单词列表 res 。最终将单词列表拼接为字符串去掉尾部空格并返回即可。 2.2 方法二分割 倒序 思路与算法 以空格为分割符完成字符串分割后若两单词间有 x1 个空格则在单词列表 strs 中此两单词间会多出 x−1 个 “空单词” 即 。 解决方法倒序遍历单词列表并将单词逐个添加至 StringBuilder 遇到空单词时跳过。 三、代码 3.1 方法一双指针 Java版本 class Solution {public String reverseWords(String s) {s s.trim(); // 删除首尾空格int j s.length() - 1, i j;StringBuilder res new StringBuilder();while (i 0) {while (i 0 s.charAt(i) ! ) i--; // 搜索首个空格res.append(s.substring(i 1, j 1)).append( ); // 添加单词while (i 0 s.charAt(i) ) i--; // 跳过单词间空格j i; // j 指向下个单词的尾字符}return res.toString().trim(); // 转化为字符串并返回} }Python版本  class Solution:def reverseWords(self, s: str) - str:s s.strip() # 删除首尾空格i j len(s) - 1res []while i 0:while i 0 and s[i] ! : i - 1 # 搜索首个空格res.append(s[i 1: j 1]) # 添加单词while i 0 and s[i] : i - 1 # 跳过单词间空格j i # j 指向下个单词的尾字符return .join(res) # 拼接并返回3.2 方法二分割 倒序 Java版本 class Solution {public String reverseWords(String s) {String[] split s.trim().split( );StringBuilder res new StringBuilder();for (int i split.length - 1; i 0; i--) {if (!split[i].equals()) {res.append(split[i]).append( );}}return res.toString().trim();} } Python版本  class Solution:def reverseWords(self, s: str) - str:return .join(s.strip().split()[::-1]) 四、复杂度分析 4.1 方法一双指针 时间复杂度 O(N) 其中 N 为字符串 s 的长度线性遍历字符串。空间复杂度 O(N) 新建的 list(Python) 或 StringBuilder(Java) 中的字符串总长度 ≤ N 占用 O(N) 大小的额外空间。 4.2 方法二分割 倒序 时间复杂度 O(N) 总体为线性时间复杂度各函数时间复杂度和参考资料链接如下。 split() 方法 为 O(N) 。trim() 和 strip() 方法 最差情况下当字符串全为空格时为 O(N) 。join() 方法 为 O(N) 。reverse() 方法 为 O(N) 。 空间复杂度 O(N)  单词列表 strs 占用线性大小的额外空间。
http://www.sadfv.cn/news/84318/

相关文章:

  • 省级住房城乡建设主管部门网站我的网站怎么不能搜索
  • 网站建设开票内容是什么意思施工企业安全生产管理规范
  • 吉安网站推广徽hyhyk1wordpress加帝国cms
  • 何炅做的网站广告百度识图查另一半情头网页版
  • 买网站做设计参考属于什么费用免费技能培训在哪里报名
  • 求网站资源懂的2021ui网页设计是什么
  • 东莞大型网站建设哪家好国内装修公司
  • 九江市建设规划局网站网站如何能吸引用户
  • 网站建设需要缴纳印花税么网站优化关键词价格
  • 网站做子站点有什么用福田做商城网站建设多少钱
  • 网站底部连接怎么做做一个企业网站花费
  • 网站建设与网站优化h5页面制作软件下载
  • 云南营造建设有限公司网站拼多多网站建设框架图
  • 做网站公证需要费用是多少网址导航网址大全彩票网站大全
  • 网站及移动端建设情况思源黑体做网站
  • 网站建设规划需要考虑国家免费培训机构
  • 重庆金融公司网站建设开发网站的空间分录
  • 中建一局华江建设有限公司网站南宁市公共资源交易中心网
  • 网站的建设维护推广网站设计赚钱吗
  • 典型的o2o网站有哪些医院网站主页面设计
  • 昆明企业免费建站wordpress文件浏览插件
  • 如何创建自己网站wordpress刷留言
  • 商业型网站建设公司网站需要钱吗
  • 网站流量增长中级经济师考试
  • 怎么做自己的淘客网站做企业品牌网站的公司
  • 网站做关键词搜索要好多钱百度搜索推广创意方案
  • 推荐佛山企业网站建设常用网站布局
  • 中山市西区建设局网站wordpress做定制T恤的网站
  • 电脑网站历史记录怎么查看多媒体设计工作内容
  • 青岛做个网站多少钱网站引导页psd