-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathFindDuplicateFileinSystem.js
More file actions
55 lines (55 loc) · 1.23 KB
/
FindDuplicateFileinSystem.js
File metadata and controls
55 lines (55 loc) · 1.23 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
/**
* @param {string[]} paths
* @return {string[][]}
*/
var findDuplicate = function(paths) {
let obj = {}
let temp = "";
let pathstostring = paths.toString();
let l = pathstostring.length;
let left = 0;
let right = 0;
for (let i = 0; i < l; i++) {
if (pathstostring[i] === "(") {
left = i;
}
if (pathstostring[i] === ")") {
right = i;
}
if (left !== 0 && right !== 0) {
temp = pathstostring.slice(left + 1, right);
if (obj[temp] === undefined) {
obj[temp] = 0;
}
obj[temp] = obj[temp] + 1;
left = 0;
right = 0;
temp = "";
}
}
for (let r in obj) {
if (obj[r] === 1) {
delete(obj[r]);
}
}
let arrs = [];
for (let key in paths) {
arrs.push(paths[key].split(" "));
}
for (let p in obj) {
obj[p] = [];
for (var i = 0; i < arrs.length; i++) {
for (var j = 1; j < arrs[i].length; j++) {
if (arrs[i][j].indexOf("(" + p + ")") !== -1) {
// if(eval("/\\(" + p + "\\)/g").test(arrs[i][j])){
obj[p].push(arrs[i][0] + "/" + arrs[i][j].slice(0, (arrs[i][j].length - (p.length + 2))));
}
}
}
}
arrs = [];
for (var s in obj) {
arrs.push(obj[s])
}
return arrs;
};