IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 数据结构与算法 -> 第 293 场周赛 -> 正文阅读

[数据结构与算法]第 293 场周赛


更多
第 293 场周赛

5234. 移除字母异位词后的结果数组

class Solution:
    def removeAnagrams(self, words: List[str]) -> List[str]:
        q = [words[0]]
        for w in words:
            if sorted(q[-1]) != sorted(w):
                q.append(w)
        return q

6064. 不含特殊楼层的最大连续楼层数

class Solution:
    def maxConsecutive(self, bottom: int, top: int, special: List[int]) -> int:
        special.sort()
        pre = bottom
        ans = 0
        for p in special:
            ans = max(ans, p - pre)
            pre = p + 1
        ans = max(ans, top - pre + 1)
        return ans
        
        floors = [bottom - 1] + sorted(special) + [top + 1]
        return max(u - d - 1 for u, d in zip(floors[1:], floors[:-1]))

6065. 按位与结果大于零的最长组合

两个数按位与大于 0,那么一定存在某一位都为 1。
统计 32 位上哪一位出现的个数最多,那么这一位是 1 的数 按位与 则大于 0。

class Solution:
    def largestCombination(self, candidates: List[int]) -> int:
        ans = 0        
        for i in range(30):
            cnt = 0
            for x in candidates:
                if x & (1 << i) > 0:
                    cnt += 1
            ans = max(ans, cnt)
        return ans

        return max(len([c for c in candidates if (c & (1 << i)) > 0]) for i in range(30))

6066. 统计区间中的整数数目

from sortedcontainers import SortedDict

class CountIntervals:

    def __init__(self):
        self.intervals = SortedDict() 
        self.cnt = 0   

    def add(self, left: int, right: int) -> None:
        n = len(self.intervals)   
        i = self.intervals.bisect_left(left)
        while i < n and self.intervals.values()[i] <= right:
            r, l = self.intervals.items()[i]
            left = min(left, l)
            right = max(right, r)
            self.intervals.popitem(i)
            self.cnt -= r-l+1  
            n -= 1
        self.intervals[right] = left
        self.cnt+=right-left+1  

    def count(self) -> int:
         return self.cnt
  数据结构与算法 最新文章
【力扣106】 从中序与后续遍历序列构造二叉
leetcode 322 零钱兑换
哈希的应用:海量数据处理
动态规划|最短Hamilton路径
华为机试_HJ41 称砝码【中等】【menset】【
【C与数据结构】——寒假提高每日练习Day1
基础算法——堆排序
2023王道数据结构线性表--单链表课后习题部
LeetCode 之 反转链表的一部分
【题解】lintcode必刷50题<有效的括号序列
上一篇文章      下一篇文章      查看所有文章
加:2022-05-18 17:54:13  更:2022-05-18 17:56:25 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 1:36:38-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码