每日一道Leetcode——省份数量

题目:
每日一道Leetcode——省份数量
我的解法:Folyd算法

class Solution {
    public int findCircleNum(int[][] isConnected) {
        int n = isConnected.length;
        for(int k=0; k<n; k++){
            for(int i=0; i<n; i++){
                for(int j=0; j<n; j++){
                    if(isConnected[i][k]==1 && isConnected[k][j]==1){
                        isConnected[i][j] = 1;
                        isConnected[j][i] = 1;
                    }
                }
            }
        }
        int num = 1;
        List<Integer> list = new ArrayList<Integer>();
        list.add(0);
        for(int i=1; i<n; i++){
            boolean b = false;
            for(int j=0; j<list.size(); j++){
                if(isConnected[i][list.get(j)]==1){
                    list.add(i);
                    b = true;
                    break;
                }
            }
            if(!b){
                list.add(i);
                num++;
            }
        }
        return num;
    }
}

每日一道Leetcode——省份数量

官方题解:
每日一道Leetcode——省份数量

每日一道Leetcode——省份数量
每日一道Leetcode——省份数量

上一篇:【YBTOJ进阶训练指导】出栈序列【模拟】【贪心】


下一篇:手把手带你利用栈来实现一个简易版本的计算器