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

做网站图片怎么做网店推广实训

做网站图片怎么做,网店推广实训,淘宝联盟 网站怎么做,海口百度seo公司剑指Offer — 字符串篇 — 剑指的题解K神已经写的已经非常详细了,并且Github上开源的电子书目前热度也非常高,这个12天12个模块系列就当作自己的秋招刷题汇总了,欢迎大家交流。 剑指 Offer 05. 替换空格 思路 **(线性扫描) ** O(n) 这个…

剑指Offer — 字符串篇

— 剑指的题解K神已经写的已经非常详细了,并且Github上开源的电子书目前热度也非常高,这个12天12个模块系列就当作自己的秋招刷题汇总了,欢迎大家交流。

剑指 Offer 05. 替换空格

思路

**(线性扫描) ** O(n)

这个题在C++里比较好做,我们可以从前往后枚举原字符串:

  • 1、如果遇到空格,则在string类型的答案中添加 "%20"
  • 2、如果遇到其他字符,则直接将它添加在答案中;

时间复杂度分析: 原字符串只会被遍历常数次,所以总时间复杂度是 O(n).

Java代码

class Solution {public String replaceSpace(String s) {StringBuilder res = new StringBuilder();char[] c = s.toCharArray();for(int i = 0; i < c.length; i ++){if(c[i] == ' ') res.append("%20");else res.append(c[i]);}return res.toString();}
}

剑指 Offer 58 - II. 左旋转字符串

思路

(字符串)

具体过程如下:

  • 1、记录要转移的字符串str
  • 2、记录不转移的字符串res
  • 3、最后返回拼接到字符串res + str

Java代码

class Solution {public String reverseLeftWords(String s, int n) {return s.substring(n, s.length()) + s.substring(0, n);}
}

剑指 Offer 20. 表示数值的字符串

思路
(模拟,字符串处理) O(n)

遍历整个字符串,将所有的不合法情况都去除掉,剩下的就是合法情况。

具体过程如下:

1、首先去除行首和行尾空格,如果去除完之后,整个字符串为空,则返回false

2、行首如果有一个正负号,直接忽略。

3、如果字符串为空或只有一个'.',则不是一个合法方案。
4、遍历整个字符串s,对于当前字符s[i]

  • s[i]为数字,则不做任何处理。

  • s[i] == '.'.的个数加1。如果此时'.''e'后面出现或者'.'的个数多于1个,则返回false。【1e2.11e2.1.1

  • s[i] == 'e' || s[i] == 'E'e的个数加1

    • 如果此时'e'的后面为空或者'e'多于1个或者'e'的前面为空或者为'.e',则返回false。【12e12e3ee1212.e3.e
    • 'e'后面紧跟着正负号,但正负号后面为空,则返回false。【1e2+
  • s[i]为其他字符,返回false

5、排除了各种非法情况,此时s则为合法方案,我们返回true

Java代码

class Solution {public boolean isNumber(String s) {if(s == null || s.length() <= 0){return false;}char[] res = s.trim().toCharArray();if(res.length <= 0) return false;int n = res.length;boolean is_dot = false;boolean is_e_or_E = false;boolean is_num = false;for(int i = 0; i < n; i++){if(res[i] >= '0' && res[i] <= '9'){is_num = true;} else if(res[i] == '.'){//-+ 8.  8.8  .8// 前面:不能有重复的小数点,也不能出现 e/Eif(is_dot || is_e_or_E){return false;}is_dot = true;} else if(res[i] == 'e' || res[i] == 'E'){// 前面必须要有一个数字 || 前面不能出现重复的 e/Eif(is_e_or_E || !is_num){return false;}is_e_or_E = true;is_num =false;//11E+ 11E} else if(res[i] == '-' || res[i] == '+'){if(i!=0 && res[i-1] != 'e' && res[i-1] != 'E'){return false;}} else {return false;}}return is_num;}
}

剑指 Offer 67. 把字符串转换成整数

思路

(模拟) O(n)

先来看看题目的要求:

  • 1、忽略所有行首空格,找到第一个非空格字符,可以是 ‘+/−’表示是正数或者负数,紧随其后找到最长的一串连续数字,将其解析成一个整数。
  • 2、整数后可能有任意非数字字符,请将其忽略。
  • 3、如果整数大于INT_MAX,请返回INT_MAX;如果整数小于INT_MIN,请返回INT_MIN

具体过程:

  • 1、定义k = 0,用k来找到第一个非空字符位置。

  • 2、使用flag记录数字的正负性,false表示正号,true表示负号。

  • 3、使用res来存贮结果,当str[k]为数字字符时进入while循环,执行res = res * 10 +str[k] - '0'

    • 根据flag判断,如果res大于INT_MAX,则返回INT_MAX;如果res * -1小于INT_MIN,则返回INT_MIN
  • 4、计算res

**时间复杂度分析:**字符串长度是 n,每个字符最多遍历一次,所以总时间复杂度是O(n)

Java代码

class Solution {public int strToInt(String str) {int res = 0, bndry = Integer.MAX_VALUE / 10;int i = 0, sign = 1, length = str.length();if(length == 0) return 0;while(str.charAt(i) == ' ')if(++i == length) return 0;if(str.charAt(i) == '-') sign = -1;if(str.charAt(i) == '-' || str.charAt(i) == '+') i++;for(int j = i; j < length; j++) {if(str.charAt(j) < '0' || str.charAt(j) > '9') break;if(res > bndry || res == bndry && str.charAt(j) > '7')return sign == 1 ? Integer.MAX_VALUE : Integer.MIN_VALUE;res = res * 10 + (str.charAt(j) - '0');}return sign * res;}
}
http://www.yayakq.cn/news/400972/

相关文章:

  • 民网东莞网站建设旅游业网站建设方案特点
  • 学习电子商务网站建设与管理的收获6有域名后续怎么做网站
  • 南昌网站制作公司在家做手工赚钱
  • 重庆网站建设公司名单网站备案准备资料
  • 建站工具原理行业网站设计
  • 个人网站logo设计福州网站设计费用
  • 大量网站开发视频 文档VIP资源如何设计响应式布局网站
  • 自已电脑做网站怎么给网站添加关键字
  • 鲜花购物网站源码天猫网站建设分析
  • 连云港网站制作公司口碑好广17网站一起做网店
  • 北京建站公司哪家好都选万维科技专业的移动网站建设公司价格
  • 怎样销售网站做电商平台网站有哪些内容
  • 免费做背景调查的网站好听的广告公司名字
  • 庆阳网站设计厂家教程
  • 网站建设套餐内容野花免费资源观看
  • 网站建设是怎么赚钱建立企业网站流程
  • 舟山建设工程信息网站营销型企业网站建设的预算
  • 广州专门做网站的公司有哪些如何运用网站做推广
  • 河南省住建厅网站豫建设标徐州市城乡建设局网站
  • 有没有做粤菜的网站去招聘网站做顾问
  • 网站产品展示模板暂时关闭wordpress
  • access数据库创建网站小说网站建设方案书
  • wordpress分类别名中文404网站做优化的必要性
  • 找建设项目的网站海外代理服务器 免费
  • 月付网站空间提供商建设审批网站查询
  • 高端平面设计网站大理住房和城乡建设部网站
  • 做一个php连接sql网站产品设计欣赏
  • 个人备案的网站名称设计网站国外
  • 做网站公司共有几处密码聊城网站开发公司
  • 建网站平台ipv6改造网站怎么做