面试-字符串1

应用

第1个字符串:R

第2个字符串:BR

第3个字符串:RBBR

第4个字符串:BRRBRBBR

规律:第i个字符串 = 第i-1个字符串取反 + 第i-1个字符串,其中B、R互为相反字符。求第n个字符串的第k个字符为多少?n从1开始、k从0开始。

实现

python 复制代码
N = int(input("请输入第几个字符串:"))
K = int(input("请输入第几个字符:"))

first_string = "R"
current_chars = list(first_string)

#print(current_chars)
print(first_string)

def Nth_string(N, K, current_chars):
    
    next_chars = []

    if N == 1:
        # pass
        print(f"目标字符为:{current_chars[K]}")
    else:

      for i in range(0, len(current_chars)):
        
          if current_chars[i] == "R":
              next_chars.append("B")
          else:
              next_chars.append("R")
        
      for j in range(0, len(current_chars)):

          next_chars.append(current_chars[j])

      
      #print(next_chars)
      
      next_string = ""
      for k in next_chars:
          next_string = next_string + k
      print(next_string)

      Nth_string(N-1, K, next_chars)

    

Nth_string(N, K, current_chars)
powershell 复制代码
请输入第几个字符串:5
请输入第几个字符:3
R
BR
RBBR
BRRBRBBR
RBBRBRRBBRRBRBBR
目标字符为:R
相关推荐
q567315231 小时前
Node.js数据抓取技术实战示例
爬虫·python·scrapy·node.js
FreakStudio5 小时前
一文速通Python并行计算:10 Python多进程编程-进程之间的数据共享-基于共享内存和数据管理器
python·嵌入式·多线程·多进程·线程同步
黑匣子~6 小时前
java集成telegram机器人
java·python·机器人·telegram
漫谈网络7 小时前
Telnetlib三种异常处理方案
python·异常处理·telnet·telnetlib
Xudde.7 小时前
加速pip下载:永久解决网络慢问题
网络·python·学习·pip
兆。7 小时前
电子商城后台管理平台-Flask Vue项目开发
前端·vue.js·后端·python·flask
未名编程7 小时前
LeetCode 88. 合并两个有序数组 | Python 最简写法 + 实战注释
python·算法·leetcode
魔障阿Q8 小时前
windows使用bat脚本激活conda环境
人工智能·windows·python·深度学习·conda
洋芋爱吃芋头8 小时前
hadoop中的序列化和反序列化(3)
大数据·hadoop·python
零炻大礼包8 小时前
【MCP】服务端搭建(python和uv环境搭建、nodejs安装、pycharma安装)
开发语言·python·uv·mcp