- 浏览: 98294 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
dreamoftch:
...
对hibernate的理解 -
quanwsx:
对hibernate的理解 -
zxt1985:
太坑爹了……啥都没
**java网络编程 -
Java_zhou:
坑爹啊。。。
**java网络编程 -
juda:
this code can not work rightly ...
Reverse String
1. 一个文本文件有多行,每行为一个URL。请编写代码,统计出URL中的文件名及出
现次数。
a) 文件名不包括域名、路径和URL参数,例如http://www.rs.com/n.op/q/rs?id=1中的
文件名是rs。
b) 部分URL可能没有文件名,例如http://www.abc.com/,这类统计为“空文件名”。
c) 出现在不同URL中的相同文件名视为同一文件名,例如
http://www.ceshi.com/hi.php和ftp://ftp.cdef.com/hi.php为同一文件名
文件内容示例如下:
http://www.test.com/abc/de/fg.php?id=1&url=http://www.test.com/index.html
http://www.hello.com/cw/hi.jsp?k=8
http://www.hi.com/jk/l.html?id=1&s=a.html
http://www.rs.com/n.op/q/rs?id=1
import java.io.*;
import java.util.*;
public class URL1{
public HashMap<String,Integer> parseURLs(String path){
HashMap<String,Integer> map=new HashMap<String,Integer>();
try{
BufferedReader br=new BufferedReader(new FileReader(path));
String str,url;
int count,len;
while((str=br.readLine())!=null){
int index;
if((index=str.indexOf('?'))!=-1){
str=str.substring(0,index);
}
String[] tmp=str.split("/");
len=tmp.length;
if(len==3){
url="null";
}else{
url=tmp[len-1];
}
if(map.containsKey(url)){
count=map.get(url).intValue();
}else{
count=0;
}
map.put(url,count+1);
}
}catch(Exception ex){
}
return map;
}
public static void main(String[] args){
URL1 url1=new URL1();
HashMap<String,Integer> map=url1.parseURLs("url1.txt");
/* Iterator it=map.entrySet().iterator(); //注意hashMap的遍历方法
while(it.hasNext()){
Map.Entry<String,Integer> me=(Map.Entry)it.next();
System.out.println(me.getKey()+","+me.getValue());
}
System.out.println("--------------");
*/
System.out.println(map);
}
}
awk -F / '{for(i=0;i<NF;i++){n=index($i,"?"); if(n!=0){$i=substr($i,0,n); count[$i]++; break;}} if(i==NF){if($(i-1)=="") {count["null"]++;} else{count[$(i-1)]++;}}} END{for(file in count){print file,":",count[file]}}' file
测试数据:
http://www.ceshi.com/hi.jsp
ftp://ftp.ceshi.com/hi.jsp
http://www.hello.com/cw/hi.jsp?k=8
http://www.hi.com/jk/l.html?id=1&s=a.html
http://www.rs.com/n.op/q/rs?id=1
http://www.abc.com/
2. 编写一个C语言函数,要求输入一个url,输出该url是首页、目录页或者其他url
如下形式叫做首页:
militia.info/
www.apcnc.com.cn/
http://www.cyjzs.comwww.greena888.com/
www.800cool.net/
http://hgh-products.my-age.net/
如下形式叫做目录页:
thursdaythree.net/greenhouses--gas-global-green-house-warming/
http://www.mw.net.tw/user/tgk5ar1r/profile/
http://www.szeasy.com/food/yszt/chunjie/
www.fuckingjapanese.com/Reality/
请注意:
a) url有可能带http头也有可能不带
b)动态url(即含有"?"的url)的一律不算目录页,如:
www.buddhismcity.net/utility/mailit.php?l=/activity/details/3135/
www.buddhismcity.net/utility/mailit.php?l=/activity/details/2449/
另:如果你会linux,请用linux下的grep命令实现第2题的功能(附加5分)。
public class URL2{
public void parseURL(String url){
int index,len,firLen;
if(url.indexOf('?')!=-1){
System.out.println(url+": 其他url");
return;
}else{
String[] tmp=url.split("/");
len=tmp.length;
if((index=url.indexOf("http://"))!=-1){
firLen=3;
}else{
firLen=1;
}
if(len==firLen){
System.out.println(url+": 主页");
return;
}else if(len>firLen){
if((tmp[len-1].indexOf('.'))==-1){
System.out.println(url+": 目录页");
return;
}else{
System.out.println(url+": 其他url");
return;
}
}
}
}
public static void main(String[] args){
URL2 url2=new URL2();
url2.parseURL("http://www.cyjzs.comwww.greena888.com/");
url2.parseURL("www.apcnc.com.cn/");
url2.parseURL("thursdaythree.net/greenhouses--gas-global-green-house-warming/");
url2.parseURL("www.buddhismcity.net/utility/mailit.php?l=/activity/details/3135/");
url2.parseURL("www.buddhismcity.net/utility/mailit.php");
}
}
awk -F / '{if((index($0,"?"))!=0){print "其他url";}else{if((index($0,"http://")!=0){len1=3;}else{len1=1;}if(NF==len1) {print "首页";}else{if((index($(NF-1),".")!=0){print "其他url"}else{print "目录页"}}}' file
3. 对给定的上亿条无序的url,请按照domain、site以及path分别排序,并请指出排序过程中可能会遇到的哪些问题?如何提高效率?
例如:http://www.baidu.com/path/about.html,domain、site以及path的定义分别如下:
Domain:baidu.com
Site:www.baidu.com
Path: www.baidu.com/path
发表评论
-
0928--算法题
2010-09-28 11:14 1512算法设计:n个连续自然数,乱序存放于一个数组中,缺失一个,缺失 ... -
Reverse String
2010-09-19 16:46 927package org.jyjiao; public c ... -
0906--拼接出最小整数
2010-09-06 10:38 1154题目描述:设有n个正整数,将它们联接成一排,组成一个最小的多位 ... -
0830--算法练习题
2010-08-28 17:42 9011. 内存中有一个长数组,条目数为10万,数组单元为结构体st ... -
??0829-Joseph问题
2010-08-28 16:39 821N个人排成一圈,指定第一个人,去除他,然后跳着一人去除第3人, ... -
???0828--存储空间管理器+n选m问题
2010-08-28 16:36 997用单链表实现一个存储空间管理器,包括分配和释放空间。要求释放 ... -
!!!0826--图
2010-08-25 14:11 620baidu1 -
###0825-1 最短路径+最小支撑树+路径压缩+等价类问题+拓扑排序
2010-08-25 13:28 797dijkska算法实现 floyed算法实现 ... -
# 0823--树进阶
2010-08-25 13:27 7081. 判断一棵二叉树是否平衡 2. 构造AVL ... -
#0822 系分
2010-08-23 14:18 638http://www.blogjava.net/ITdavid ... -
0821集合问题
2010-08-23 14:16 760{ aaa, bbb, ccc},{bbb, ddd }, { ... -
0820-mirosoft
2010-08-20 12:43 910传说中微软的几道算法题,练习一下吧: 1.设计一个 ... -
0819- 找共同url
2010-08-18 17:47 790给你a、b两个文件,各存放50亿条url,每条url各占用64 ... -
0819--找队友
2010-08-18 11:52 1011全体员工玩分组游戏,前面五分钟大家分头找队友,并将每个人找到的 ... -
0817--概率问题
2010-08-16 18:53 710输入:N(整数)输入:数据文件A.txt,不超过6条记录,字符 ... -
0816--支配数
2010-08-16 18:52 737支配数:数组中某个元素出现的次数大于数组总数的一半时就成为支配 ... -
0815-二叉树
2010-08-14 11:10 923第一题: 在一棵一般的二叉树中找到指定的元素,如果有重 ... -
0811-3 对webservice执行自动化测试
2010-08-11 20:05 9110811-3 对webservice执行自动化测试 i ... -
0812-字典树算法
2010-08-11 19:59 14731. 在用户输入英文单词时,经常发生错误,我们需要对其进行纠错 ... -
0811-2 求最小前缀
2010-08-11 19:34 907给以文件,文件中每一行是一个单词,求出每个单词的最小前缀,使得 ...
相关推荐
1. 数据结构/算法导论 : 2. OJ练习题 : 1.从数据结构的角度索引 : 1. 一个顺序的数组[1,2,3,5,6],缺少了一个数字,如何找到它 2.
> 这是一个我学习《深入浅出强化学习-原理入门》的学习代码仓库,主要是一些书上的例子和书后面的练习题的代码 ## 目录 ### 1-gym二次开发(gym develop) 1. [gym二次开发相关文件配置] 2. [改写gym下的core.py文件] ...
关于对生活中各种各样的数据的聚类分类问题已经成为众多学者的研究热题之一。聚类和分类的区别在于,聚类没有任何先验知识可循,要通过数据自身的特点,将数据自动的划分到不同的类别中。聚类的基本形式定义为“在已给...
数据挖掘聚类算法--k均值算法,txt包含了数据点,该程序可以将这些数据聚为几类
- 参与别人的练习、自己组练习题(随机组) - 查看个人信息(修改用户信息、修改密码、绑定手机、绑定邮箱) - 查看近十场考试成绩、训练成绩(数据可视化) - 错题本(可以将错题添加到错题本中) - 申请教师权限...
算法-第四版-习题-答案算法-第四版-习题-答案算法-第四版-习题-答案
一个聚类算法(k-means)实例,对想实践一下K_means算法的朋友很实用
本内容包含了算法导论的习题部分所有答案!!!
蓝桥杯练习题概览 试题集名称 试题总数 更新时间 入门训练 4 2013/10/9 基础练习 30 2013/11/3 算法训练 180 2018-03-09 算法提高 220 2018-03-09 历届试题 55 2017-12-18 包括题目和测试数据
计算机算法练习题 计算机专业的算法经典 一些常用的数据结构与算法练习 很受用的
“100 days of algorithms”(算法100天)的 练习题
算法导论习题答案 算法导算法导论习题答案论习题算法导论习题答案答案 算法导论习题答案
算法的基础习题算法习题讲解--noip算法习题讲解--noip
数据结构与算法经典习题 五. 求下列算法的时间复杂度。(练习题,不必交) count=0; x=1; while (x ){ x*=2; count++; } return count; 六. 求多项式A(x)的算法可根据下列两个公式之一来设计: ⑴ A(x)=anxn+an-1xn...
Algorithm Design (Kleinberg Tardos 2005) - Solutions 《算法设计》习题答案
(动态规划-分治法-贪心法-回溯法)算法练习题
单选题(共10题,5) 1线性表采用链式存储结构时,其地址( )。A、必须是连续的B、部分地址必须是连续的C、一定是不连续的D、连续与否均可以正确答案: D 2带头结点的单链表head为空的判断条件是( )。A、head=...
自己照着做的一些kmeans练习,适合新手看
[Java]算法练习-栈的反转练习题
[Java]算法练习-字符串移位练习题