• 【算法集训专题攻克篇】第二十二篇之有序集合(困难)


    算法集训传送门

      👉引言

    在这里插入图片描述

    铭记于心
    🎉✨🎉我唯一知道的,便是我一无所知🎉✨🎉

    💖 ❄️我们的算法之路❄️💖

       众所周知,作为一名合格的程序员,算法 能力 是不可获缺的,并且在算法学习的过程中我们总是能感受到算法的✨魅力✨。
                  ☀️🌟短短几行代码,凝聚无数前人智慧;一个普通循环,即是解题之眼🌟☀️
       💝二分,💝贪心,💝并查集,💝二叉树,💝图论,💝深度优先搜索(dfs),💝宽度优先搜索(bfs),💝数论,💝动态规划等等, 路漫漫其修远兮,吾将上下而求索! 希望在此集训中与大家共同进步,有所收获!!!🎉🎉🎉

    在这里插入图片描述


    今日主题:困难


     👉⭐️第一题💎

       ✨题目

    1418. 点菜展示表)
    在这里插入图片描述

    这是一道考虑「数据结构运用」与「简单设计」的模拟题。

    我们可以根据最终的 “结果” 反推数据结构存储格式

       ✨代码

    function displayTable(orders: string[][]): string[][] {
        const foods = new Set<string>();
        const tables_to_food_counter = new Map<string, Map<string, number>>();
    
        orders.forEach(function (order) {
            const counter = tables_to_food_counter.get(order[1]) ?? new Map();
            tables_to_food_counter.set(order[1], counter);
    
            counter.set(order[2], (counter.get(order[2]) ?? 0) + 1);
            return foods.add(order[2]);
        });
        const foodsArr = Array.from(foods);
        foodsArr.sort();
        const table = [["Table", ...foodsArr]];
        tables_to_food_counter.forEach(function (counter, table_id) {
            const table_row = [table_id];
            foodsArr.forEach(function (food) {
                table_row.push(String(counter.get(food) ?? 0));
            });
            table.push(table_row);
        });
    
        table.sort((a, b) => {
            if (a[0] === "Table") {
                return -1;
            }
            if (b[0] === "Table") {
                return 1;
            }
            if (Number(a[0]) < Number(b[0])) return -1;
            if (Number(a[0]) > Number(b[0])) return 1;
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32

    🌹写在最后💖
    相信大家对今天的集训内容的理解与以往已经有很大不同了吧,或许也感受到了算法的魅力,当然这是一定的,路漫漫其修远兮,吾将上下而求索!伙伴们,明天见!🌹🌹🌹在这里插入图片描述

  • 相关阅读:
    CISSP学习笔记:通过原则和策略的安全治理
    【目标检测】Flask+Docker在服务器部署YOLOv5应用
    C语言 深度探究C语言中的多字节字符
    深入理解Java消息中间件-ActiveMQ
    C# 大数据量 线程跑分页
    Sonarqube 安装 及与Jenkins sonar scanner插件集成部署
    喜茶与《梦华录》跨界联名,论各大饮品如何抢占营销 C 位?
    顾樵 量子力学I 导读(1)
    Oracle SQL - HAVING和分析函数的执行顺序
    Oracle函数如何返回多行多列?
  • 原文地址:https://blog.csdn.net/runofsun/article/details/125964107