每日一题-Day15-二维数组查找重复行

题目

在二维数组中查找重复的行,并输入对应的行索引

解决思路如下:

使用哈希表来放置二维数组,key为行索引,value为行索引对应的一维数组

import java.util.HashMap;
import java.util.Map;

public class Test10 {
    public static void main(String[] args) {
        //创建数组
        String [][] s={
                {"abc"," "},
                {""},
                {"a","b","C","1"},
                {"a","b","C","1"},
                {"a","1","4","r"}};

        //将数组放进一个哈希表中
        Map<Integer,String[]> map = new HashMap<>();
        int index=0;            //行索引
        for (String[] t:s){
            map.put(index,t);
            index++;
        }

        for(int i=0;i<s.length;i++){                //使用冒泡排序比较每行的内容是否相同
            for(int j=i+1;j<s.length;j++){
                if(map.get(i).length==map.get(j).length){   //判断两个一位数组长度是否相同
                    int count=0;
                    for(int k=0;k<map.get(i).length;k++){   //判断数组中的每一个字符是否相同
                        if(map.get(i)[k]!=map.get(j)[k]) break;
                        else count++;
                    }
                    if(count==map.get(i).length) System.out.println(i+"和"+j+"相等");      //如果每个字符都相等,且长度相等,则两行重复
                }
            }
        }


    }
}

题目来源:笔试题

posted @ 2021-06-30 00:19  2月2日  阅读(212)  评论(0)    收藏  举报