把每个 URI 按 / 切成子段序列。每次在尚未入组的下标集合上:
若没有任何长度 ≥1 且覆盖 ≥2 的前缀,则结束。
给定互不相同的 URI 字符串数组 uriReqs。每个 URI 以 / 开头、不以 / 结尾、无 //;按 / 切开后得到若干子段。
若干 URI 的公共前缀长度定义为:从首段起连续相同的子段个数。
按下述贪心反复分组,返回形成的组数(可为 0):
请实现:
countSimilarGroups(uriReqs: string[]) -> int
一行字符串数组,形如:
["/a/b/c/d", "/a/b/c", "/a"]
约束:2≤n≤200;每 URI 子段数 ∈[1,20];单 URI 长度 ≤300;字符为小写字母、数字、-、_、/;URI 互异且格式合法(如上)。
一个整数:相似组个数。
输入:
["/a/b/c/d", "/a/b/c", "/a/b/d", "/a/b/c/d/e", "/a/b/c/d/f", "/a", "/b"]
输出:
2
说明:
先按最长前缀 /a/b/c/d(L=4)聚成 1 组(3 个 URI);再按 /a/b(L=2)聚成 1 组;其余无法成组。
输入:
["/aa/b/c", "/aa/b/c/d/e", "/b/c", "/b/c/d", "/b", "/b/e/o/p/p/r/s/t", "/b/d/e", "/b/d/h"]
输出:
4
说明:
/aa/b/c 与 /aa/b/c/d/e(L=3)/b/c 与 /b/c/d(L=2)/b/d/e 与 /b/d/h(L=2)/b 与 /b/e/o/p/p/r/s/t(L=1)
By signing up a CodeFun2000 universal account, you can submit code and join discussions in all online judging services provided by us.