从一个流中查找指定数组

原创 2012年03月30日 12:12:52
import java.io.InputStream;




public class SeekInputStream 
{

/**
* 在流中查找,不适合查找全0数组,by samyou
* @param in
* @param key
* @return
*/
public static int seekBytes(InputStream in,byte[] key)
{
int lastSeekEnd = 0;
int result = -1;
byte buff[] = new byte[1000];
if(key.length > buff.length)
{
return -1;
}
try 
{
in.read(buff);
do{
result = normalSeek(buff, key);
if(result >= 0)
{
break;
}
System.arraycopy(buff, buff.length-key.length, buff, 0, key.length);
lastSeekEnd+=buff.length-key.length;
}
while( in.read(buff, key.length, buff.length-key.length) >0 );


catch (Exception e) 
{
e.printStackTrace();
try {
in.close();
} catch (Exception e2) {
}
return -1;
}
try {
in.close();
} catch (Exception e2) {
}
return result+lastSeekEnd;
}




/**
KMP查找算法
在一块buff中找
*/
private static int normalSeek(byte[] buff,byte[] key)
{
for(int i=0;i<buff.length -key.length;i++)
{
boolean seekSuccess = true;
for(int j=0;j<key.length;j++)
{
if(buff[i+j] != key[j])
{
seekSuccess  =false;
break;
}
}
if(seekSuccess)
{
return i;
}
}
return -1;
}


}

旋转数组中查找指定元素

如题,在旋转数组中查找指定元素,考虑到多种情况,网上的方法大部分没有考虑,当low,high,mid三个值相等时的情况。 代码如下:int findAll(int A[],int low,int h...
  • LeoSha
  • LeoSha
  • 2015年06月14日 16:03
  • 756

6-2 在数组中查找指定元素(15 分)

6-2 在数组中查找指定元素(15 分) 本题要求实现一个在数组中查找指定元素的简单函数。 函数接口定义: int search( int list[], int n, int ...
  • a1659091995
  • a1659091995
  • 2017年12月28日 22:45
  • 345

19.在指定的字符串数组中查找给定的字符串

给定程序中,函数fun的功能是:在形参ss所指字符串数组中查找与形参t所指字符串相同的串,找到后返回该字符串在字符串数组中的位置,未找到则返回-1,ss所指字符串数组中共有N个内容不同的字符串,且串长...
  • u012814404
  • u012814404
  • 2015年06月23日 14:58
  • 1786

二分法从数组中查找指定元素

# -*- encoding: utf-8 -*- # 二分法从数组中查找指定元素 def test(array,K): i = 0 l = 0 # 数组最左边记为 0 r = len(ar...
  • u012293522
  • u012293522
  • 2015年03月17日 21:13
  • 551

数组---在数组中查找元素

Description 输入10个整数到一个长度为10的整型数组中,然后输入一个整数,查看该整数是否在刚才得到的数组中,如果在,输出“found”,如果不在,输出“not found” Inpu...
  • l769255844
  • l769255844
  • 2015年12月27日 16:56
  • 2710

数组中查找指定元素

在数组中查找指定元素
  • hevin_hy
  • hevin_hy
  • 2015年09月09日 23:51
  • 609

Problem  M 在数组中查找指定元素 函数

题目描述 本题要求实现一个在数组中查找指定元素的简单函数。 函数接口定义: int search( int list[], int n, int x ); 其中list[]是用户传入的数组;n...
  • gtoo888
  • gtoo888
  • 2017年11月28日 09:24
  • 2266

在数组中查找某一指定数组元素

在数组中查找某一指定数组元素,可设查找标志flag 在数组s[n]中查找temp int flag=0; for(int i=0;i   { if(temp==s[i]) { print...
  • u014164050
  • u014164050
  • 2014年03月17日 11:34
  • 656

在一个基本有序的数组中查询指定元素

一个数组中的元素是基本有序的,意思就是说当遇到次序打乱的元素的时候,它与自己有序的正确位置只能是前后相邻的位置,比如数组: arr=[1,2,3,4,5,7,6,8,9,10]arr=[1,2,...
  • sinat_36246371
  • sinat_36246371
  • 2017年01月03日 10:56
  • 455

js 数组快速查询指定字符串方法

转载自:http://blog.sina.com.cn/s/blog_024ec1880100t6p9.html 有一个动态数组,[adfjsf,ad2fjsf,adf32jsf,ad4fjsf,a...
  • zuoanlove
  • zuoanlove
  • 2013年03月09日 23:53
  • 379
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:从一个流中查找指定数组
举报原因:
原因补充:

(最多只允许输入30个字)