Java实现 洛谷 P1738 洛谷的文件夹.docx
3页1、Java实现 洛谷 P1738 洛谷的文件夹题目描述kkksc03是个非凡的空想家!在短时间内他设想了大量网页,然后总是交给可怜的lzn去实现。洛谷的网页端,有很多文件夹,文件夹还套着文件夹。例如:/luogu/application/controller表示根目录下有一个名称为luogu的文件夹,这个文件夹下有一个名称application的文件夹,其中还有名为controller的文件夹。每个路径的第1个字符总是/,且没有两个连续的/,最后的字符不是/。所有名称仅包含数字和小写字母。目前根目录是空的。kkksc03想好了很多应该有的文件夹路径名。问题是,需要是使这些文件夹都存在,需要新建几个文件夹呢?输入输出格式输入格式:输入文件第1行为一个正整数N。接下来N行,每行为一个描述路径的字符串,长度均不超过100。输出格式:输出应包含N行,每行1个正整数,第i行输出若要使第1个路径到第i个路径存在,最少需要新建多少个文件夹。输入样例#1:2/luogu/application/controller/luogu/application/view输出样例#1:34输入样例#2:3/chic
2、ken/chicken/egg/chicken输出样例#2:122输入样例#3:4/a/a/b/a/c/b/b输出样例#3:1235import java.util.ArrayList;import java.util.Collections;import java.util.Scanner;public class 洛谷的文件夹 public static void main(String args) int count=0; /计算新建文件夹次数 Scanner sc =new Scanner(System.in); ArrayList list = new ArrayList(); ArrayList list1 = new ArrayList(); int n = sc.nextInt(); for (int i = 0; i n; i+) String s = sc.next(); list.add(s); /把每一个路径都保存为String放入list里面 Collections.sort(list); /把这些路径按照字典序排序 /排完序就会把相同路径或者相似路径的放在一
3、起 可以比对这一个和下一个的不同来计算 /不用再去记录以前建过的文件夹 String sss = list.get(0); String num3 = sss.substring(1).split(/); for (int i = 0; i num3.length; i+) list1.add(num3i); count+; /先把第一个保存下来 for (int i = 0; i list.size()-1; i+) System.out.println(count); String s = list.get(i); String ss = list.get(i+1); String num1 = s.substring(1).split(/); /这里是为了拆分使用,来匹配相对位置的文件夹是不是被建过 String num2 = ss.substring(1).split(/); int min = Math.min(num1.length, num2.length);/保存最小长度的 int temp=-1; /这里是用第一个当基础来与第二个的比较 if(num1.lengthnum2.length) /如果第二个长度大,就先保存一下 temp=num1.length; for (int j = 0; j min; j+) if (num1j.equals(num2j) /第一个相同 if (!list1.contains(num1j) / list1 这里是list1 看看是否有这个文件夹 count+; /这里主要是 看看这两个路径里有几个相同的 防止加上相同的文件夹 list1.add(num1j); /没有就加上这个文件夹 count记录次数 else /如果这两个不相等 temp=j; /就保存下标 结束掉 break; if (temp!=-1) /如果有不相同的 或者第二个数组长的 list1 = new ArrayList(); /list清空 重新录入 for (int j = 0; j =temp) /当录入到下标的地方,就开始添加次数 count+; System.out.println(count);
《Java实现 洛谷 P1738 洛谷的文件夹.docx》由会员Lun****ng分享,可在线阅读,更多相关《Java实现 洛谷 P1738 洛谷的文件夹.docx》请在金锄头文库上搜索。
5G+ICT行业趋势白皮书
“节约促转型”助力拥抱数字化变革
“新基建”时代的网络安全与APT攻击
Java实现 洛谷 P1738 洛谷的文件夹.docx
Java GUI 窗体事件.docx
Java实现 LeetCode 811 子域名访问计数 (暴力).docx
Java实现 LeetCode 609 在系统中查找重复文件(阅读理解+暴力大法).docx
Java实现 LeetCode 661 图片平滑器(暴力).docx
java实现 历届试题 蓝桥杯 打印十字图.docx
Java实现 LeetCode 738 单调递增的数字(暴力).docx
Java实现 LeetCode 838 推多米诺(暴力模拟).docx
Java实现 LeetCode 658 找到 K 个最接近的元素(暴力).docx
Java实现 LeetCode 806 写字符串需要的行数 (暴力模拟).docx
Java实现 LeetCode 657 机器人能否返回原点(暴力大法).docx
Java实现 LeetCode 771 宝石与石头(这是真暴力).docx
Java实现 LeetCode 696 计数二进制子串(暴力).docx
Java实现 LeetCode 198 打家劫舍.docx
Java实现 LeetCode 622 设计循环队列(暴力大法).docx
Java实现 LeetCode 213 打家劫舍 II(二).docx
Java GUI 鼠标事件.docx
2024-01-15 24页
2024-01-15 15页
2024-01-08 89页
2024-01-08 72页
2023-08-31 3页
2023-08-31 2页
2023-07-10 3页
2023-07-10 3页
2023-07-10 3页
2023-07-10 2页