2017年春招“森林举行运动会”编程题

森林举行运动会,小伙伴们身上每个都印着一个字符标记,排成一列,委员会要挑出每列里相邻小伙伴身上没有重复字符标记的,最多能挑出几个?

比如:小伙伴们的字符标记串起来是“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的元素的个数

结果如截图:
这里写图片描述

如有问题或疑问,欢迎留言指正,多谢~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值