亚马逊笔试题目_亚马逊在线笔试题第二题

package com.zju.edu.cn.test;

import java.io.File;

import java.io.FileInputStream;

import java.io.InputStream;

import java.io.InputStreamReader;

import java.util.ArrayList;

import java.util.HashMap;

import java.util.Map;

import java.util.Scanner;

public class Test {

static int getMatchCount(String[] patterns, String input){

int len = patterns.length;

if(len == 0)

return 0;

ArrayList array = new ArrayList();

for(int i = 0 ; i < len ; i ++){

if(patterns[i].contains("*")){

for(int j = 0 ; j < 26 ; j ++){

String temp = patterns[i].replace('*',(char)('a' +j)).toLowerCase();

array.add(temp);

}

String temp = patterns[i].replace('*',' ').toLowerCase().trim();

array.add(temp);

}

else

array.add(patterns[i]);

}

while(input.contains(".") || input.contains(",") || input.contains("!")){

StringBuilder string = new StringBuilder(input);

int index = string.indexOf(".");

if(index != -1){

string.insert(string.indexOf("."), " ");

string.deleteCharAt(string.indexOf("."));

}

index = string.indexOf(",");

if(index != -1){

string.insert(string.indexOf(","), " ");

string.deleteCharAt(string.indexOf(","));

}

index = string.indexOf("!");

if(index != -1){

string.insert(string.indexOf("!"), " ");

string.deleteCharAt(string.indexOf("!"));

}

input = string.toString();

}

String list[] =input.split(" ");

len = list.length;

int count = 0;

for(int i = 0 ; i < len ; i ++){

String str = list[i];

if(array.contains(str.toLowerCase())){

count ++;

}

else{

for(int j = 0 ; j < array.size(); j ++){

if(str.toLowerCase().contains(array.get(j))){

count ++;

break;

}

}

}

}

return count;

}

@SuppressWarnings("resource")

public static void main(String[] args) throws Exception {

File file = new File("D:\\in.txt");

InputStream is = new FileInputStream(file);

// BufferedReader reader = new BufferedReader(new InputStreamReader(is));

//BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));

//Scanner in = new Scanner(System.in);

Scanner in = new Scanner(new InputStreamReader(is));

int num;

num = in.nextInt();

String patterns[] = new String[num];

in.nextLine();

for(int i = 0 ; i < num ; i ++){

patterns[i] = in.nextLine();

}

String input = in.nextLine();

int count = getMatchCount(patterns,input);

System.out.println(count);

//System.out.println("matching".contains("match"));

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值