代码随想录 Leetcode332. 重新安排行程

题目:


代码(首刷看解析 2024年2月6日):

cpp 复制代码
class Solution {
private:
    unordered_map<string,map<string,int>> targets;
public:
    bool backtracking(int tickNum, vector<string>& res) {
        if (tickNum == res.size() - 1) {
            return true;
        }
        for (pair<const string,int>& target : targets[res[res.size() - 1]]) {
            if (target.second > 0) {
                res.push_back(target.first);
                target.second--;
                if (backtracking(tickNum, res)) return true;
                target.second++;
                res.pop_back();
            }
        }
        return false;
    }
    vector<string> findItinerary(vector<vector<string>>& tickets) {
        targets.clear();
        vector<string> res;
        for (const vector<string>& vec : tickets) {
            targets[vec[0]][vec[1]]++;
        }
        res.push_back("JFK");
        backtracking(tickets.size(), res);
        return res;
    }
};
相关推荐
To_OC3 小时前
LC 131 分割回文串:刚学回溯时,我连怎么切字符串都想不明白
javascript·算法·leetcode
旖-旎4 小时前
LeetCode 518:零钱兑换||(完全背包)—— 题解
c++·算法·leetcode·动态规划·背包问题
To_OC5 小时前
LC 42 接雨水:暴力超时卡半天?前后缀数组一用就通了
javascript·算法·leetcode
delishcomcn6 小时前
AI视觉识别+分切算法:电化铝缺陷检测与裁切一体化解锁
人工智能·算法
触底反弹6 小时前
深入理解大模型采样:Temperature、Top-K、Top-P 的原理与实战
人工智能·算法·面试
雪碧聊技术6 小时前
力扣 LCR 091. 粉刷房子 —— 动态规划入门详解
算法·动态规划
CV-Climber9 小时前
检索技术的实际应用
人工智能·算法
hhzz10 小时前
Tiger AI Platform平台中增加人脸识别功能
图像处理·人工智能·算法·计算机视觉·大模型
从零开始的代码生活_10 小时前
C++ 继承详解:访问控制、对象模型、菱形继承与设计取舍
开发语言·c++·后端·学习·算法