Skip to content

Latest commit

 

History

History
26 lines (24 loc) · 705 Bytes

1487.md

File metadata and controls

26 lines (24 loc) · 705 Bytes

1487. Making File Names Unique

Solution 1 (time O(L), space O(L))

class Solution(object):
    def getFolderNames(self, names):
        """
        :type names: List[str]
        :rtype: List[str]
        """
        d = collections.defaultdict(int)
        ans = []
        for name in names:
            if name in d:
                k = d[name]
                while "{}({})".format(name, k) in d:
                    k += 1
                d[name] = k + 1
                ans.append("{}({})".format(name, k))
                d["{}({})".format(name, k)] = 1
            else:
                ans.append(name)
                d[name] = 1
        return ans