欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python實現(xiàn)的生成格雷碼功能示例

 更新時間:2018年01月24日 11:12:40   作者:kuqs(奇小東)  
這篇文章主要介紹了Python實現(xiàn)的生成格雷碼功能,結(jié)合實例形式分析了格雷碼的原理與Python相關實現(xiàn)技巧,需要的朋友可以參考下

本文實例講述了Python實現(xiàn)的生成格雷碼功能。分享給大家供大家參考,具體如下:

問題

在一組數(shù)的編碼中,若任意兩個相鄰的代碼只有一位二進制數(shù)不同, 則稱這種編碼為格雷碼(Gray Code),請編寫一個函數(shù),使用遞歸的方法生成N位的格雷碼。

解決方法:

給定一個整數(shù)n,請返回n位的格雷碼,順序為從0開始。

測試樣例:

返回:["0","1"]

題目很刁鉆,題干很簡潔,樣例很高冷……

其中有一些微妙的關系

發(fā)現(xiàn)了這個規(guī)律之后,代碼自然就很好寫了

# -*- coding:utf-8 -*-
class GrayCode:
  def getGray(self, n):
    # write code here
    global maxn
    maxn = n
    return GrayCode.getGrace(self, ['0', '1'], 1)
  def getGrace(self, list_grace, n):
    global maxn
    if n >= maxn:
      return list_grace
    list_befor, list_after = [], []
    for i in xrange(len(list_grace)):
      list_befor.append('0' + list_grace[i])
      list_after.append('1' + list_grace[-(i + 1)])
    return GrayCode.getGrace(self, list_befor + list_after, n + 1)
gary = GrayCode()
print "腳本之家測試結(jié)果:"
print gary.getGray(3)

運行結(jié)果:

更多關于Python相關內(nèi)容可查看本站專題:《Python字符串操作技巧匯總》、《Python數(shù)據(jù)結(jié)構與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python入門與進階經(jīng)典教程》及《Python文件與目錄操作技巧匯總

希望本文所述對大家Python程序設計有所幫助。

相關文章

最新評論