YF云飞 2023-05-07 15:19 采纳率: 65%
浏览 36
已结题

关于python#代码#的问题,如何解决?

img


代码如下:


class Solution:
    def runeReserve(self, runes: List[int]) -> int:
        n = len(runes)
        if n <= 1:
            return n

        runes.sort()
        ans = 2
        cnt = [1] * n
        residue = n - 2

        i, j = 0, 1
        while j < n and residue > 0:
            if runes[j] - runes[i] <= 1 and cnt[i] > 0 and cnt[j] > 0:
                cnt[i] -= 1
                cnt[j] -= 1
                ans += 2
                if cnt[i] == 0:
                    residue -= 1
                    i = self.findNext(cnt, i, -1)
                if cnt[j] == 0:
                    residue -= 1
                    j = self.findNext(cnt, j, 1)
            else:
                if cnt[i] == 0:
                    i = self.findNext(cnt, i, -1)
                elif cnt[j] == 0:
                    j = self.findNext(cnt, j, 1)
                elif cnt[i] <= cnt[j]:
                    cnt[i] -= 1
                    ans += 1
                    if cnt[i] == 0:
                        residue -= 1
                        i = self.findNext(cnt, i, -1)
                else:
                    cnt[j] -= 1
                    ans += 1
                    if cnt[j] == 0:
                        residue -= 1
                        j = self.findNext(cnt, j, 1)
        
        return ans
    
    def findNext(self, cnt, i, d):
        j = i + d
        while j >= 0 and j < len(cnt) and cnt[j] == 0:
            j += d
        return j

求问如何修改代码才能正确?需要代码谢谢,其他思路也可以

  • 写回答

3条回答 默认 最新

  • CSDN专家-文盲老顾 2023-05-07 15:28
    关注

    这个题目,思路就很简单,求连续递增不超过1的最大长度,用一个指针,一个记录,两个变量即可

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 5月15日
  • 已采纳回答 5月7日
  • 修改了问题 5月7日
  • 创建了问题 5月7日

悬赏问题

  • ¥500 把面具戴到人脸上,请大家贡献智慧
  • ¥15 任意一个散点图自己下载其js脚本文件并做成独立的案例页面,不要作在线的,要离线状态。
  • ¥15 各位 帮我看看如何写代码,打出来的图形要和如下图呈现的一样,急
  • ¥30 c#打开word开启修订并实时显示批注
  • ¥15 如何解决ldsc的这条报错/index error
  • ¥15 VS2022+WDK驱动开发环境
  • ¥30 关于#java#的问题,请各位专家解答!
  • ¥30 vue+element根据数据循环生成多个table,如何实现最后一列 平均分合并
  • ¥20 pcf8563时钟芯片不启振
  • ¥20 pip2.40更新pip2.43时报错