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


    算法集训传送门

      👉引言

    在这里插入图片描述

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

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

       众所周知,作为一名合格的程序员,算法 能力 是不可获缺的,并且在算法学习的过程中我们总是能感受到算法的✨魅力✨。
                  ☀️🌟短短几行代码,凝聚无数前人智慧;一个普通循环,即是解题之眼🌟☀️
       💝二分,💝贪心,💝并查集,💝二叉树,💝图论,💝深度优先搜索(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

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

  • 相关阅读:
    最简洁明了的讲述JavaSE、JavaEE和JavaME之间的区别
    mac的Jupyter怎么使用
    【LeetCode-二叉树训练】
    暗黑破坏神词缀实现思路2.0
    JAVA 版多商家入驻 直播带货 商城系统 B2B2C 商城免费搭建之 B2B2C产品概述
    京东API接口(商品详情页采集+关键词搜索商品列表):开启电商业务的新篇章
    windows使用小技巧之windows照片查看器无法显示此图片
    SSH框架过时了吗?那就最后分享一份阿里架构师整合的SSH框架实战心得吧!
    SQL注入之宽字节注入
    HTTP协议
  • 原文地址:https://blog.csdn.net/runofsun/article/details/125964107