美文网首页LeetCode
从房屋收集雨水需要的最少水桶数

从房屋收集雨水需要的最少水桶数

作者: Billsion | 来源:发表于2022-02-16 00:10 被阅读0次

    描述:
    给一个描述街道的字符串S,其中“H”代表一所房子,“-”代表空地,你可以把水箱放在空地上,从附近的房子里收集雨水,房子旁边有水箱,就可以收集自己的雨水

    例如:
    给定S=“-H-HH--”,可以使用2个水箱收集所有房子的雨水,一个水箱放在第一和第二所房子的中间,另一个放在第三间房子之后,水箱的位置可以表示为“-HTHHT-”,其中“T”代表水箱

        public static int minRainBucketsBetweenHouse(String S) {
            if (S == null || S.isEmpty()) {
                return -1;
            }
            int len = S.length();
            if (S.contains("HHH")) {
                return -1;
            }
            if (len == 1) {
                return -1;
            }
    
            if ('H' == S.charAt(0) && 'H' == S.charAt(1)) {
                return -1;
            }
    
            if ('H' == S.charAt(len - 1) && 'H' == S.charAt(len - 2)) {
                return -1;
            }
    
            S = S.replaceAll("H-H", "hTh");
            S = S.replaceAll("-H", "Th");
            S = S.replaceAll("H-", "hT");
    
            int tCount = 0;
            for (int i = 0; i < S.length(); i++) {
                if ('T' == S.charAt(i)) {
                    tCount++;
                }
            }
            return tCount;
        }
    

    相关文章

      网友评论

        本文标题:从房屋收集雨水需要的最少水桶数

        本文链接:https://www.haomeiwen.com/subject/yodrlrtx.html