重新学习算法_Day3-哈希表&2283&str与list转换

发布时间 2023-11-11 14:28:13作者: LYoungH
HashTable

 

感觉从原理上说会用 但是实际应用感觉不知道有什么用 或者不知道怎么用

例如:

给你一个下标从 0 开始长度为 n 的字符串 num ,它只包含数字。

如果对于 每个 0 <= i < n 的下标 i ,都满足数位 i 在 num 中出现了 num[i]次,那么请你返回 true ,否则返回 false 。

 

示例 1:

输入:num = "1210"
输出:true
解释:
num[0] = '1' 。数字 0 在 num 中出现了一次。
num[1] = '2' 。数字 1 在 num 中出现了两次。
num[2] = '1' 。数字 2 在 num 中出现了一次。
num[3] = '0' 。数字 3 在 num 中出现了零次。
"1210" 满足题目要求条件,所以返回 true 。

 

class Solution(object):
    def digitCount(self, num):
        """
        :type num: str
        :rtype: bool
        """
        count= [0]*len(num)
        for n in str(num):
            if int(n)>=len(num):
                return False
            count[int(n)]=count[int(n)]+1
        return(''.join([str(x) for x in count])==num)

 但是这也是哈希吗?

 

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

list转换为str

list = ['a','b','c','d']
str1 = ''.join(list)
str2 = ' '.join(list)
str3 = '.'.join(list)
print(str1)
print(str2)
print(str3)
list = [1, 2, 3, 4]
str1 = ''.join([str(x) for x in list])
str2 = ' '.join([str(x) for x in list])
str3 = '.'.join([str(x) for x in list])
print(str1)
print(str2)
print(str3)

str转换为list

str1 = 'abcde'
str2 = 'a b c d   e'
str3 = 'a, b, c, d, e'
result1 = list(str1)
result2 = str2.split()
result3 = str3.split(', ')
print(result1)
print(result2)
print(result3)