C++用%20替换字符串中的空格(O(n)的时间效率)
来源:互联网 发布:java是男人下 编辑:程序博客网 时间:2024/04/29 20:43
#include <iostream>#include <malloc.h>#include <string.h>using namespace std;//将字符串中的空格用%20替换。void Grial(char *str){ if(str==NULL)return ; char *p = str; char *q = NULL; char buf[strlen(str)+1]; int count = 0;//计数空格数. while(*p!='\0') { if(*p==' ') count ++; p++; } strcpy(buf,str); int n = strlen(str)+2*count+1; str = (char *)malloc(n); memset(str,'\0',sizeof(str)); strcpy(str,buf); p = str+n-1;//n是字符串包括'\0'的长度,我想让p指向对后一个'\0'位置,我让str+n指向的是'\0'后面的位置, //所以p=str+n-1才是指向对后一个位置'\0',为什么我要写一遍这个,我纠结了半天怎么错位了,奶奶的, //30分钟没有了,以后长记性。 q = p-count*2; while(1) { if(*q == ' ') { *p='0'; p--; *p='2'; p--; *p='%'; } else { *p = *q; } if(p==q)break; q--; p--; } cout<<str<<endl;}int main(){ char a[]="you are a good boy!!!"; Grial(a); return 0;}/*---------------------------------------------------------------------------------------*/#include <iostream>//求递增二维数组中的一个值。//我一个同学在2面笔试中遇到这个题了。using namespace std;int Grial(int (*a)[6],int x,int y,int val){ int i = y-1; int j = 0; while(i!=0 && j!=x) { if(a[j][i]>val) { i--; } else if(a[j][i]<val) { j++; } else { return a[j][i]; } } return false; }int main(){ int a[][6]={1,3,4,6,7,9, 2,4,5,7,9,10, 4,5,7,8,10,13, }; cout<<Grial(a,3,6,3)<<endl;}
1 0
- C++用%20替换字符串中的空格(O(n)的时间效率)
- 【编程题目】Pq.1--空格替换的O(n)解法(优化时间效率的解法)
- 字符串替换--替换字符串中的空格为$$$。要求时间复杂度为O(N)
- 查找一个字符串中第一个只出现两次的字符,要求时间复杂度为O(N)。-替换字符串中的空格为$$$。要求时间复杂度为O(N)
- 替换字符串中的空格为$$$。要求时间复杂度为O(N)
- 替换字符串中的空格为$$$。要求时间复杂度为O(N)
- 【每日一题】替换字符串中的空格为$$$。要求时间复杂度为O(N)
- 时间效率O(N)的排序
- 将字符串中的空格替换,时间复杂度为0(n)解法
- 将字符串中的所有空格去掉,要求时间复杂度O(N)
- 替换空格(将字符串中的空格替换为20%)
- (科大讯飞)删除字符串中的连续空格(只保留一个),O(n)时间复杂度,O(1)空间复杂度
- 删除字符串中的连续空格(只保留一个),O(n)时间复杂度,O(1)空间复杂度
- 替换字符串中的空格(C++/Java实现)
- java 不复制字符串前提下替换字符串中的空格算法实现O(n)
- 字符串替换算法(时间、空间效率)
- 用"%20" 替换字符串中的空格
- 用20%替换字符串中的空格
- C&C++(1) - extern "C"的作用
- IO--流--Stream
- leetcode 第74题 Search a 2D Matrix
- 科比都这么努力,你还有什么借口不努力呢?
- 第十一周 项目0 - 是春哥啊
- C++用%20替换字符串中的空格(O(n)的时间效率)
- chenglei1986/DatePicker源码解析(二)
- 设计模式-单例模式
- Convert Sorted Array to Binary Search Tree - LeetCode 108
- 基于Spring4的全注解实现Restful开发
- JButton的setText()和setActionCommand()
- 大一下学期第十一周及以前学习总结
- Android抽象布局——include、merge 、ViewStub(附源码)
- uva10891 Game of Sum 博弈区间dp