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 小米 华为 单反 装机 图拉丁
 
   -> 数据结构与算法 -> 记leetcode周赛第一次ak(虽然很多bug)2022.1.22周赛 -> 正文阅读

[数据结构与算法]记leetcode周赛第一次ak(虽然很多bug)2022.1.22周赛

在这里插入图片描述
思路:
排序+三个一组

class Solution:
    def minimumCost(self, cost: List[int]) -> int:
        cost.sort(reverse = True)
        sum = 0
        for i in range(len(cost)):
            if (i + 1) % 3 != 0:
                sum += cost[i]
        return sum

在这里插入图片描述
思路:
还原hidden数组,看极差判断即可

class Solution:
    def numberOfArrays(self, differences: List[int], lower: int, upper: int) -> int:
        n = len(differences)
        hidden = [0] * (n + 1)
        for i in range(1, n + 1):
            hidden[i] = hidden[i - 1] + differences[i - 1]
        #print(hidden)
        if max(hidden) - min(hidden) > upper - lower:
            return 0
        else:
            return (upper - lower) - (max(hidden) - min(hidden)) + 1

在这里插入图片描述
思路:
queue, visited,bfs,上下左右,然后层次遍历,加入符合条件的下一层
判断该层的结果(排序:价格,行,列)
到达长度就退出

class Solution:
    def highestRankedKItems(self, grid: List[List[int]], pricing: List[int], start: List[int], k: int) -> List[List[int]]:
        # bfs
        ans = []
        m, n = len(grid), len(grid[0])
        visited = [[False] * n for _ in range(m)]
        #print(visited)
        q = deque()
        q.append(start)
        visited[start[0]][start[1]] = True
        while q:
            levelLen = len(q)
            #print(levelLen)
            tempans = []
            # 同一层的
            for _ in range(levelLen):
                now = q.popleft()
                #print(now)
                # 加入
                if pricing[0] <= grid[now[0]][now[1]] <= pricing[1]:
                    tempans.append([now[0], now[1], grid[now[0]][now[1]]])

                # bfs
                X = [-1, 0, 1, 0]
                Y = [0, -1, 0, 1]
                for i in range(4):
                    nextX = now[0] + X[i]
                    nextY = now[1] + Y[i]
                    # 在界内且不是墙且未遍历
                    if 0 <= nextX < m and 0 <= nextY < n and grid[nextX][nextY] != 0 and visited[nextX][nextY] is False:
                        q.append([nextX, nextY])
                        visited[nextX][nextY] = True
            # 整合这一层的结果
            tempans.sort(key = lambda k: (k[2], k[0], k[1]))
            for item in tempans:
                ans.append([item[0], item[1]])
                # 满了就退出
                if len(ans) == k:
                    return ans
        return ans

在这里插入图片描述
思路:
首先特殊情况判断,s个数奇数or为0or为2
连续两个S后的P可用
进行组合乘法(注意最后的P处理,卡了5次bug)

class Solution {
public:
    int numberOfWays(string corridor) {
        int sum = 0;
        for(int i = 0; i < corridor.size(); i++) {
            if(corridor[i] == 'S') ++sum;
        }
        if(sum % 2 == 1 || sum == 0) return 0;
        if(sum == 2) return 1;
        
        long long res = 1;
        int cnts = 0;
        for(int i = 0; i < corridor.size(); i++) {
            //cout << i << endl;
            if(corridor[i] == 'S') {
                if(cnts < 2) ++cnts;
                else cnts = 1;
            }
            else if(corridor[i] == 'P') {
                // 若满足两个seat在前面
                if(cnts == 2) {
                    int cntp = 1;
                    while(i + 1 < corridor.size() && corridor[++i] == 'P') cntp++;
                    if(i == corridor.size() - 1) break;
                    res *= cntp + 1;
                    res %= 1000000007;
                    i--;
                }
            }
        }
        
        res %= 1000000007;
        return res;
        
    }
};

总结:
Anyway, 人生第一次ak吧

  数据结构与算法 最新文章
【力扣106】 从中序与后续遍历序列构造二叉
leetcode 322 零钱兑换
哈希的应用:海量数据处理
动态规划|最短Hamilton路径
华为机试_HJ41 称砝码【中等】【menset】【
【C与数据结构】——寒假提高每日练习Day1
基础算法——堆排序
2023王道数据结构线性表--单链表课后习题部
LeetCode 之 反转链表的一部分
【题解】lintcode必刷50题<有效的括号序列
上一篇文章      下一篇文章      查看所有文章
加:2022-01-25 10:49:54  更:2022-01-25 10:52:41 
 
开发: 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 19:43:01-

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