1.a e c d f 2.b d e g e b 3.c f e k d i 4.e d c a f k 5.u v w k i b 第一次遍历 查有a的1 4,和有k的3,4,5 保存 1,4 去掉a 的 1,4 在 3,4,5中比较 得到结果 4
StringBuffer buffer = new StringBuffer(); buffer.append("select * from table where id<>'tomuno'"); if(a!=null&&!a.equals("")) { buffer.append(" and a='"+a+"'"); } if(b!=null&&!b.equals("")){ buffer.append(" and b='"+b+"'"); } sql=buffer.toString();
根本不明白题目的意思!什么是d在a所在的行出现了?e在a所在的行出现了?你解释清楚一点
也就是说d 这个字符 在第一行(也就是a所在的那一行出现了,同是这一行也有给定的字符k,所以这一行就符合条件)
也就类似公交车线路的查找方法,如果 没有直达的 车辆, 可以根据 起点站和终点站 算出一个转车的路线!!谢谢大家了,呵呵,我解释的的确有点含糊了.
你要真在java里实现的话就我认为
用二分法查找‘k’
然后找到了就返回
记下来是哪个数组,必须有那几个数组‘1’‘2’‘3’‘4’
找完就ok了
我都觉得复杂
2.b d e g e b
3.c f e k d i
4.e d c a f k
5.u v w k i b
第一次遍历 查有a的1 4,和有k的3,4,5
保存 1,4 去掉a 的
1,4 在 3,4,5中比较
得到结果 4
buffer.append("select * from table where id<>'tomuno'");
if(a!=null&&!a.equals(""))
{
buffer.append(" and a='"+a+"'");
}
if(b!=null&&!b.equals("")){
buffer.append(" and b='"+b+"'");
}
sql=buffer.toString();
2、K的前面没有A
3、截A后面的字符串放到数组里a[i]
4、截K前面的字符串放到数组里b[j]
5、循环找到同样的字符不就OK啦!
6、1/2步可能要嵌几套循环