360笔试 给定a,b字符串 求出b相对于a的相对路径
来源:互联网 发布:java线程同步几种方式 编辑:程序博客网 时间:2024/05/29 15:45
题目描述:给出一个函数:a = “/qihoo/app/a/b/c/d/new.c”;b = "/qihoo/app/1/2/test.c";输出b相对于a的相对路径:../../../../1/2/test.c
#include <iostream>#include <string>#include <algorithm>#include <cstring>using namespace std;const int MAX = 100;int index;// 标记下标含有'/'int index_b;void Path_To(string &a,string &b){ int num_a = 0; int num_b = 0; int pos_a[MAX] = {0}; //记录字符串中/的位置 int pos_b[MAX] = {0}; for(unsigned int i=0;i<a.size();i++) { if(a[i] == '/') { pos_a[index++] = i; num_a++; } } for(unsigned int j=0;j<b.size();j++) { if(b[j] == '/') { pos_b[index_b++] = j; num_b++; } } //用于存放子字符串 string from[num_a]; string to[num_b]; /** 测试输出字符'/'的位置 for(int k = 0;k<num_a;k++) cout << pos_a[k] << " "; cout << endl; for(int l = 0;l<num_b;l++) cout << pos_b[l] << " "; cout << endl; */ //截取子字符串 for(int num=1;num<=num_a;num++) { from[num-1] = a.substr(pos_a[num-1]+1,pos_a[num]-pos_a[num-1]-1); } for(int num=1;num<=num_b;num++) { to[num-1] = b.substr(pos_b[num-1]+1,pos_b[num]-pos_b[num-1]-1); } /* for(int i=0;i<num_a;i++) cout << from[i] << " : "; cout << endl; for(int i=0;i<num_b;i++) cout << to[i] << " : "; cout << endl; */ int flag = 0;//b字符串 有多少不同于a的 for(int k=0;k<num_b;k++) { if(!(from[k].compare(to[k]))) { flag++; } } //相对子字符串 b = b.substr(pos_b[flag]+1); flag += (num_a-num_b); for(int i=0;i<flag;i++) cout<< "../"; cout << b << endl;}int main(){ string a = "/qihoo/app/a/b/c/d/new.c"; string b = "/qihoo/app/1/2/test.c"; Path_To(a,b); return 0;}
2 0
- 360笔试 给定a,b字符串 求出b相对于a的相对路径
- 360-2015暑假实习笔试 给定a,b字符串 求出b相对于a的相对路径
- 计算出$b相对于$a的相对路径
- 360笔试题:求么b相对于a的相对路径
- 计算路径a对于路径b的相对路径
- 给定有序序列 a,b,求出所有a[i]+b[j]中所的第k小的数
- 对于给定的整数集合S,求出最大的d,使得a+b+c=d。
- 题目描述:给定一个字符串,求出其所有可能的字符组合. 比如:abc 其所有组合是:a,b,c,ab,ac,bc,abc
- 打印给定位数的a,b 组合
- 面试题:给定a、b字符串,判断b是否为a的变位词(scala版本)
- 代码练习 - 给定一个字符串,只有a,b,c
- 给定字符串A和B,输出A和B中的最大公共子串。
- 给定字符串A和B,输出A和B中的最大公共子串。
- 给定正整数b,求最大的整数a,满足a*(a+b) 为完全平方数
- 求出区间[a,b]中所有整数的质因数分解。
- 给定["a","b","a","b","c","a","b","c","b"]字符串数组,然后使用Map的key来保存数组的字符串元素,value保存该字符串元素出现的次数。
- A+B(字符串a+b问题)
- A + B 字符串处理
- [NOIP2014]子矩阵解题报告
- Sql查询与删除数据库重复数据
- python编写科学计算程序的书籍
- eclipse常用快捷键
- 数字通信系统模型
- 360笔试 给定a,b字符串 求出b相对于a的相对路径
- 《高效能程序员的修炼》之培养写作习惯
- interceptor拦截器实现aop
- Mac OS安装MySQL(使用二进制PGK包安装)
- 漫谈经典排序算法:六、各种排序算法总结
- POJ2264 HDU1503 Advanced Fruits【LCS】
- Objective-C - 动态方法、静态属性实例
- LINQ to SQL语句(1)之Where
- MySql分析整理命令