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

从化做网站开发app找什么公司

从化做网站开发,app找什么公司,wordpress无限加载插件,苏州做公司邮箱企业网站题目描述#xff1a; 请实现一个函数#xff0c;将一个字符串中的每个空格替换成“%20”。例如#xff0c;当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 解题思路有#xff1a; #判断字符串是否为空#xff0c;判断length是否大于0。 #记录空格的数…题目描述 请实现一个函数将一个字符串中的每个空格替换成“%20”。例如当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 解题思路有  #判断字符串是否为空判断length是否大于0。  #记录空格的数量没有空格直接返回原字符串。 1考虑的问题替换字符串是在原字符串上修改A还是新建字符串修改B 2在当前字符串替换怎么替换才更有效率 2-1 从前往后替换后面的字符要不断往后移动要多次移动所以效率低下在原字符串改动时 2-2 从后往前先计算需要多少空间然后从后往前移动则每个字符只为移动一次这样效率更高一点。   测试用例  1输入中包含空格空格位于最前方最后方中间有连续多个空格 hello world  2输入中没有空格  3特殊输入测试字符串是nullptr指针字符串是空字符串   代码  A 新建字符串从前往后复制  运行时间3ms 占用内存400-600k 1 class Solution {2 public:3 void replaceSpace(char *str,int length) {4 //判断特殊的情况5 if(strNULL||length0)6 return;7 int totalLength0;8 vectorint index ;9 10 for (int i0;str[i]!\0;i){ 11 totalLength; 12 //if(isspace(str[i])) 13 if(str[i] ) 14 index.push_back(i); 15 } 16 17 if (index.empty()) //判断是否有空格 18 return; 19 else{ 20 int spaceNum index.size(); 21 char* newstr new char [totalLengthspaceNum*21]; //用不用加1 22 23 for(int i0,k0;itotalLength;i) // 判断的时候有等于\0也要拷贝 24 { 25 if(iindex[k]){ 26 *newstr%; 27 *newstr2; 28 *newstr0; 29 str; 30 k; 31 } 32 else 33 *newstr*str; 34 } 35 newstrnewstr-(totalLengthspaceNum*2)-1; 36 strstr-totalLength-1; 37 for(int j0;j(totalLengthspaceNum*2);j){ 38 str[j]newstr[j]; 39 } 40 } 41 } 42 }; new array front to back 注意 1」主体代码line23-34执行结束后newstr指针内存储修改后的代码。但该段代码执行后指针指向\0的后一位因此要多减一个1要根据字符串长度将指针移回原始位置。不要忘记指针移动 2」要修改的是str因此将newstr的值拷贝给str函数运行结束后newstr的被释放局部作用域。 3」if (strNULL||length0)使用||而不是。 B 原始字符串从后往前复制(使用数组) 运行时间5ms 占用内存476k 1 class Solution {2 public:3 void replaceSpace(char *str,int length) {4 if (strNULL||length0) //应该使用||而不是因为两个中任意一个成立均不用在判断5 return;6 int totalLen 0,spaceNum0;7 for(int i0;str[i]!\0;i){8 totalLen;9 if(str[i] ) 10 spaceNum; 11 } 12 int totalNew totalLen 2*spaceNum; 13 //注意c中u取反使用而不是1-2结果是true 14 if(!spaceNum||totalNewlength) //totalNewlength应该是大于符号 15 return; 16 for(int k totalLen,jtotalNew;k0;k--,j--){ 17 if(kj) 18 return; 19 if(str[k] ){ 20 str[j]0; 21 str[--j]2; 22 str[--j]%; 23 } 24 else{ 25 str[j]str[k]; 26 } 27 } 28 } 29 }; ori array back to front 注意 1」C中取反使用即int spaceNum 1; !spaceNum; 结果是0 而spaceNum 结果是-2true 2」20-21规律如下 20的原码0001 0100 操作1110 1011逐位取反这是一个负数负数在计算机中以补码形式存储。因此该序列是一个负数的补码。 该负数的补码1110 1011 该负数的反码1110 1010 减1 该负数的原码1001 0101首位是符号位-10010101为21。最后结果为-21。  C 原始字符串从后往前复制使用指针 1 class Solution {2 public:3 void replaceSpace(char *str,int length) {4 if(strNULL||length0)5 return ;6 int CountOfBlanks0;7 int Originallength0;8 for(int i0;str[i]!\0;i)9 { 10 Originallength; 11 if(str[i] ) 12 CountOfBlanks; 13 } 14 int len Originallength2*CountOfBlanks; 15 if(len1length||!CountOfBlanks) //即lenlength 16 return ; 17 18 char*pStr1strOriginallength;//复制结束符‘\0’ 19 char*pStr2strlen; 20 while(pStr1pStr2) 21 { 22 if(*pStr1 ) 23 { 24 *pStr2--0; 25 *pStr2--2; 26 *pStr2--%; 27 } 28 else 29 { 30 *pStr2--*pStr1; 31 } 32 --pStr1; 33 } 34 } 35 }; use point 1」当两个指针相等的时候终止。此时已经没有空格了   编写代码时遇到的问题  1判断字符串char *str是否为空if(strNULL)  2判断某个字符是否是空格两种方法isspace(str[i]) 或 if(str[i] )   基础知识 1字符串的最后一个字符是\0用于判断一个字符串是否结束。 2编写程序时一定要考虑极端的情况如要查找的数组是空的字符串是空的要赋值的对象是同一个对象等。 3原码一个正数转换为二进制位就是这个正数的原码。负数的绝对值转换成二进制位然后在高位补1就是这个负数的原码      反码正数的反码就是原码负数的反码等于原码除符号位以外所有的位取反      补码正数的补码与原码相同负数的补码为 其原码除符号位外所有位取反得到反码了然后最低位加1      即正数的反码和补码都与原码相同。             在计算机中正数是直接用原码表示的负数用补码表示   仍存在的问题 1length是指什么  猜测限定原始字符串指针str可扩展的内存空间即记录总长度。   # prac 02 class Solution { public:void replaceSpace(char *str,int length) {cout strendl;int num_sapce 0;for(int i 0;ilength;i)if (str[i] )num_sapce1;//if (num_sapce1)//return str;int new_length length 2*num_sapce;char* new_str new char[new_length];for(int old_index length-1,new_index new_length -1; old_index0;)if (str[old_index] ){old_index-1;new_str[new_index--]0;new_str[new_index--]2;new_str[new_index--]%;}else {new_str[new_index]str[old_index];old_index-1;new_index-1;}for (int k 0;knew_length;k){str[k]new_str[k];}} }; //题目要求在原来的字符串上修改即字符串首地址不变 //因此要把字符串在一次赋值回去可以选择不生成新的变量在原地址上修改。转载于:https://www.cnblogs.com/GuoXinxin/p/9955330.html
http://www.pierceye.com/news/301271/

相关文章:

  • 做拍卖网站多少钱办公室装修铺哪种地板
  • 国外网站有哪些平台网站系统建设需要什么资质
  • 做网站 就上凡科网做盗版网站会坐牢吗
  • 百事通网做网站做网站公众号多少钱
  • 影视作品网站开发与设计php做网站有哪些好处
  • 寻模板网站源码《基层建设》官方网站
  • 做网站龙岗深圳市网络seo推广平台
  • 公司资质查询官方网站网站建设开题报告
  • 桐城网站开发网站制作器手机版下载
  • 校友网站 建设网站开发都是使用框架吗
  • 手机网站字体大小规范优秀网站
  • 用动物做网站名称建设个人网站的策划书
  • 深圳网站开发公司宝网建设网站需要哪些素材
  • 网页设计需要学什么学历南宁seo服务公司
  • 网站开发学习未来做那个网站能致富
  • 建设厅科技中心网站免费网站怎么做出来的
  • 做一网站东莞网站建设
  • 电商网站建设需求网站开发培训排名
  • 厦门建设局网站城市建设郑州百度分公司
  • 长春火车站在哪广州冼村小学
  • 网站开发上海工资dedecms模板自适应
  • 湖北建设厅行政服务中心网站网络系统管理员工作内容
  • php 创建网站开发织梦网站后台打不开
  • 网站建设的企业html 网站
  • 山东省建设安全生产协会网站零基础学网站建设 知乎
  • 门户网站做等保需要备案哪些石家庄以岭药业股份有限公司招聘
  • 工信部网站备案方法红豆网桂林论坛
  • 开发网站年度工作总结及明年工作计划免费sem工具
  • 教育网站开发报告郑州哪家医院看男科比较专业
  • 企业门户网站系统wordpress 商业