• 2016去哪儿编程题:文本嗅探


    文本嗅探

    题目描述

    现在有一个字符串列表,和一个关键词列表,请设计一个高效算法,检测出含关键字列表中关键字(一个或多个)的字符串。

    给定字符串数组A及它的大小n以及关键词数组key及它的大小m,请返回一个排好序的含关键词的字符串序号的列表。保证所有字符串长度小于等于100,关键词个数小于等于100,字符串个数小于等于200。保证所有字符串全部由小写英文字符组成。若不存在含关键字的字符串,请返回一个只含-1的数组。

    测试样例:
    ["nowcoder","hello","now"],3,["coder",now],2
    返回:[0,2]
    解题

    直接暴力
    找到子串,可以自己写,可以用 contains,indexOf



    import java.util.*;
    
    public class KeywordDetect {
        public int[] containKeyword(String[] A, int n, String[] keys, int m) {
            // write code here
            ArrayList<Integer> list = new ArrayList<Integer>();
            for(int i = 0;i<n ;i++){
                String str = A[i];
                boolean flag = isContains(str,keys,m);
                if(flag){
                    list.add(i);
                }
            }
            
            int[] result = new int[list.size()];
            for (int i = 0; i < list.size(); i++) {
                result[i] = list.get(i);
            }
            
            if(list.size() == 0)
                return new int[]{-1};
           return result;
        }
        public boolean isContains(String str,String[] keys,int m){
            int id = -1;
            for(int i = 0;i< m;i++){
                id = str.indexOf(keys[i]);
                if(id != -1)
                    return true;
            }
            return false;
        }
    }
  • 相关阅读:
    Tomcat7,Tomcat8 的manager 配置
    JavaScript 获得当前日期+时间
    CentOS 安装jdk 1.8
    nginx文件结构与解析,例子
    jxl解析多个excel工作表-java代码
    一个上传图片,预览图片的小demo
    利用DES,C#加密,Java解密代码
    CentOS安装Nginx
    摄像机标定--很懒的方法
    slam-g2o安装失败的解决问题
  • 原文地址:https://www.cnblogs.com/theskulls/p/5384071.html
Copyright © 2020-2023  润新知