讨论/技术交流/求助算法问题/

急求!

Chris最近从Joseph那里收到了一个数组p作为生日礼物,其元素为0或1。他想用它生成一个无限长的超数组。这是他的策略:每次,他将其数组按位反转,将所有0更改为1,将全部1更改为0,以获得另一个数组,然后将原始数组和反向数组连接在一起。 例如,如果原始数组为[0,1,1,0],则倒置数组将为[1,0,0,1],而新数组将为[0,1,1,0,1, 0,0,1]。 他想知道重复多次后,阵列会是什么样子。 他请你帮助他解决这个问题。 给定原始数组p的长度为n和两个索引a, b(n<<a<<b,<<意味着小于)设计一种算法,计算在生成的无限长的数组p中a和b之间的元素之和。 他还希望您快速地执行此操作,因此请确保您的算法运行时间少于O(b)时间。 解释您的算法并分析其复杂性。
image.png
image.png

共 0 个回复
暂无回复