判断0101或者1010的对子串

GGJJLLDD 2013-07-22 02:17:33
例如:a=1010, 希望不用循环,return True
a = 10101, return True
b=0101, return True
b =01010, return True, 个数不一定为偶数

a= 10...10(1), ...代表无数的10,()代表可选, return True
b = 01...01(0), ...代表无数的01, return True

other:
return Flase
...全文
270 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
一根烂笔头 2013-07-24
  • 打赏
  • 举报
回复
引用 4 楼 GGJJLLDD 的回复:
[quote=引用 3 楼 my_live_123 的回复:] 循环移位一位和原数相与,如果结果为0,则为真 比如: a = 010101 循环右移一位 101010 010101 & 101010 ---------- 000000
如果都是0000,就错了[/quote] 是的,但是你
引用 4 楼 GGJJLLDD 的回复:
[quote=引用 3 楼 my_live_123 的回复:] 循环移位一位和原数相与,如果结果为0,则为真 比如: a = 010101 循环右移一位 101010 010101 & 101010 ---------- 000000
如果都是0000,就错了[/quote] 是的,但是你不会用if嘛?
GGJJLLDD 2013-07-24
  • 打赏
  • 举报
回复
引用 3 楼 my_live_123 的回复:
循环移位一位和原数相与,如果结果为0,则为真 比如: a = 010101 循环右移一位 101010 010101 & 101010 ---------- 000000
如果都是0000,就错了
一根烂笔头 2013-07-22
  • 打赏
  • 举报
回复
循环移位一位和原数相与,如果结果为0,则为真 比如: a = 010101 循环右移一位 101010 010101 & 101010 ---------- 000000
nice_cxf 2013-07-22
  • 打赏
  • 举报
回复
没搞懂为啥不用循环?无论如何,最坏情况总要遍历整个串,循环是效率最高的算法
libralibra 2013-07-22
  • 打赏
  • 举报
回复
重新描述一下题目吧,楼主. 看样子有个快速判断就是:如果序列a长度为n 如果n是奇数,a[n-1,n-2,...1,0] = a[0,1,2...n-1],也就是倒序=原字串 如果n是偶数,a[n-1]+a[0,1,2...n-2] = a[n-1,n-2,...1,0],也就是最后一个字符+不含最后一个字符的原字串=原字串倒序

33,010

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧