文巾解题 1418. 点菜展示表

1 题目描述

2 解题思路 

分几步走:

第一步:找到一共几张桌子,一共有几

class Solution(object):
    def displayTable(self, orders):
        """
        :type orders: List[List[str]]
        :rtype: List[List[str]]
        """
        num=set()
        dish=set()
        for i in orders:
            num.add(i[1])
            dish.add(i[2])
        num=list(num)
        dish=list(dish)
        num.sort(key=int)
        dish.sort()
#找出有几张桌子,几道菜
#num,dish
#(['3', '5', '10'], ['Beef Burrito', 'Ceviche', 'Fried Chicken', 'Water'])


        dit_dish2id={}
        for i,d in enumerate(dish):
            dit_dish2id[d]=i+1
        dit_table2id={}
        for i,d in enumerate(num):
            dit_table2id[d]=i+1
#每张桌子每道菜对应返回数组的横纵坐标的下标
#dit_dish2id,dit_table2id
#({'Beef Burrito': 1, 'Ceviche': 2, 'Fried Chicken': 3, 'Water': 4},
# {'3': 1, '5': 2, '10': 3})

        ret=[]
        tmp=['Table']
        tmp.extend(dish)
        ret.append(tmp)
        l_t=len(num)
        l_d=len(dish)
        for i in range(l_t):
            tmp=[num[i]]
            for j in range(l_d):
                tmp.append(0)
            ret.append(tmp)
#生成初始的返回数组
#ret
'''
[['Table', 'Beef Burrito', 'Ceviche', 'Fried Chicken', 'Water'],
 ['3', 0, 0, 0, 0],
 ['5', 0, 0, 0, 0],
 ['10', 0, 0, 0, 0]]
'''

        for i in orders:
            print(i)
            x=dit_table2id[i[1]]
            y=dit_dish2id[i[2]]
            ret[x][y]+=1
        for i in range(len(ret[1:])):
            for j in range(len(ret[0][1:])):
                ret[i+1][j+1]=str(ret[i+1][j+1])
        return(ret)
'''
遍历每一条order,同时把int类型的部分转换成str类型
'''

道菜

第二步:每张桌子,每道菜对应返回的二维数组的横纵坐标的下标

第三步:生成初始的返回数组

第四步:遍历每一条order记录

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

UQI-LIUWJ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值