这道题目我参考了sunbaigui的解法,这是一道通过属性值来找记录的问题,属于倒排索引,由于属性值较多,需要使用多个map进行存储,对于多个ID公用多个属性值的问题,可以把map的ID那一维设置为vector,从而可以容纳多个ID,为了满足ID的升序输出,需要对每个map中的记录按照ID升序进行排序。
题目的具体实现为:
定义5个map,每个map的第一维为string,第二维为vector,其中第一维保存不同的属性值,第二维保存各个属性值对应的ID,在输入记录的过程中不断把记录存入map...
分类:
其他好文 时间:
2015-05-30 14:55:42
阅读次数:
114
public HashMap test(String value){int ab=-1;HashMap map =new HashMap();String []arr=new String[]{"","", "%3c","%3e","%3c/","/%3e","javascript:"};for(i...
分类:
Web程序 时间:
2015-05-30 00:37:30
阅读次数:
213
题目:
取出一个字符串中字母出现的次数。如:字符串:"abcde%^kka27qoq" ,输出格式为:a(2)b(1)k(2)...
第一种方式(set和list结合使用):
package itheima;
import java.util.ArrayList;
import java.util.LinkedHashSet;
import java.util.List;
import...
分类:
其他好文 时间:
2015-05-29 23:20:01
阅读次数:
175
list支持快速的插入和删除,但是查找费时;vector支持快速的查找,但是插入费时。map查找的时间复杂度是对数的,这几乎是最快的,hash也是对数的。如果我自己写,我也会用二叉检索树,它在大部分情况下可以保证对数复杂度,最坏情况是常数复杂度,而std::map在任何情况下都可以保证对数复杂度,原...
分类:
其他好文 时间:
2015-05-29 21:42:21
阅读次数:
148
//首先将折线上的坐标点存入一个数组中var arr = [pt1,pt2,pt3], brr = [], i = 0;while(i < arr.length){ //这样可以按照画线的顺序获取相邻的两个坐标点 var p1 = arr[i+1], p2 = ...
分类:
其他好文 时间:
2015-05-29 21:40:38
阅读次数:
191
Java遍历Set集合1、迭代器遍历: Set set = new HashSet(); Iterator it = set.iterator(); while (it.hasNext()) { String str = it.next(); System.out.pri...
分类:
编程语言 时间:
2015-05-29 20:10:38
阅读次数:
220
一:起因
(0)Python的基本语法,对于一个学过其他语言的人来说,比较容易;但是要是熟练的应用 和 掌握Python的进阶语法还是有一段路要走的。
(1)With语句代替try……finally语句;yield语法之生成器generator,序列生成器;函数式编程(Map/Reduce/Filter等 ps:这里的Map/Reduce不是Hadoop的MR)
二:With基本语法
(1...
分类:
编程语言 时间:
2015-05-29 18:16:19
阅读次数:
155
// HashSet的关键源码
public class HashSet
extends AbstractSet
implements Set, Cloneable, java.io.Serializable
{
// HashSet中封装的HashMap,这个map也是数据储存的地方
private transient HashMap map;
//在add方法中...
分类:
其他好文 时间:
2015-05-29 18:06:56
阅读次数:
115
map三个实现类HashMap,TreeMap,HashTable1. (1) HashMap概述:HashMap是基于哈希表的Map接口的非同步实现。此实现提供所有可选的映射操作,并允许使用null值和null键。此类不保证映射的顺序,特别是它不保证该顺序恒久不变。 (2)HashMap的数据结....
分类:
编程语言 时间:
2015-05-29 18:00:51
阅读次数:
146
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4407
题意:在1E5个数中求某段区间中和p互素的数和。有1000次操作,每次操作可能是询问,可能是修改单点值。
注意!!初始时,序列是1,2.....n,很关键呀。操作数很少,可以用map存下修改操作,每次询问求cal(r,p)-cal(l-1,p),在加上修改的影响。
cal(r,p)可用容斥...
分类:
其他好文 时间:
2015-05-29 12:07:05
阅读次数:
129