题目
给定一个由N(<10)个正整数组成的数组A,生成一些最小元素和最大元素相同的子数组数(可以仅包含1个元素),统计这些子数组的数量并输出。
注:最大元素和最小元素相同就是数组中的元素全部为同一个值。如数组(1,1),它满足条件的子数组有三个,分别为(1)(1)(1,1)
格式
输入格式
第一行输入数组长度N,第二行输入数组元素,整型,空格分隔。
输出格式
输出整型
样例1
输入:
3
1 1 3
输出:
4
程序
def main():
#code here
n = int(input())
li = list(map(int,input().split()))
# 统计每个元素的出现次数
count = {}
for i in li:
if i in count:
count[i] += 1
else:
count[i] = 1
res = 0
for i in count:
res += (2**count[i])-1
print(res)
if __name__ == '__main__':
main();
891

被折叠的 条评论
为什么被折叠?



