森林举行运动会,小伙伴们身上每个都印着一个字符标记,排成一列,委员会要挑出每列里相邻小伙伴身上没有重复字符标记的,最多能挑出几个?
比如:小伙伴们的字符标记串起来是“ccccccbc” 那相邻的小伙伴身上没有重复的字符标记是cb或者bc,那这个人数就是2
输入:小伙伴们的字符标记串起来的字符串
输出:相邻的小伙伴身上 没有重复的字符标记是cb或者bc,那这个人数就是2
输入范例:“ccccccbc”
输出范例:2
str='ccccccbc'
arr=list(str)
myList=[]
print arr
count=0
for index in range(len(arr)):
print ("index:%s value:%s" %(index,arr[index]))
if((int(index)+1)<len(arr)):
myList.append(arr[index]+arr[index+1])
print ("arr[%s]+arr[%s+1]:%s" %(index,index,arr[index]+arr[index+1]) )
print myList
myset=set(myList)
for i in myset:
print(i,myList.count(i))
if(myList.count(i)==1):
count=count+1
print ("相邻不重复的有多少人:%d" %count)
解决思路:
1、将字符串转换成python的list,定义为arr
//[‘c’,’c’,’c’,’c’,’c’,’c’,’b’,’c’]
2、将arr这个list组合相邻字符形成myList //[‘cc’,’cc’,’cc’,’cc’,’cc’,’cb’,’bc’]
3、将myList转换成set格式,set里为不重复元素 //[‘cc’,’cb’,’bc’]
4、统计set元素在myList 中出现的次数<’cc’,5><’cb’,1><’bc’,1>
5、只得出出现次数为1的元素的个数
结果如截图:
如有问题或疑问,欢迎留言指正,多谢~