当前位置: 首页 > news >正文

力扣-回溯-332 重新安排行程

思路

要完成对当前机场和目标机场的数据定义,要用出发机场映射到目标机场,而且出发机场可能有多个,所以要使用unordered_map作为外部容器,由于同一个出发机场到目标机场,需要先到string小的目标机场尝试,所以用map记录目标机场以及当前航班的次数

回溯时,先从字母序小的机场开始尝试,一旦获取到一个结果后就返回true,让剩下的回溯不再进行。

代码

class Solution {
public:
    vector<string> result;
    unordered_map< string, map<string, int> > targets;
    bool backtracking(int tickNum){
        if(result.size() == tickNum + 1){
            return true;
        }

        for(pair< const string, int> &target : targets[result[result.size()-1]]){
            if(target.second > 0){
                result.push_back(target.first);
                target.second--;
                if( backtracking(tickNum)) return true;
                result.pop_back();
                target.second++;
            }
        } 

        return false;
    }
    vector<string> findItinerary(vector<vector<string>>& tickets) {
        for( const vector<string> vec: tickets){
            targets[vec[0]][vec[1]]++;
        }
        result.push_back("JFK");
        backtracking(tickets.size());

        return result;
    }
};


文章转载自:

http://EVA7yolZ.skrww.cn
http://vZoCxbqX.skrww.cn
http://NjgD6y9V.skrww.cn
http://Glvm6JPm.skrww.cn
http://7QxXUqi6.skrww.cn
http://oBXtzlLE.skrww.cn
http://63w40jnZ.skrww.cn
http://aOhntVXV.skrww.cn
http://lozcKSME.skrww.cn
http://mr3SPD3k.skrww.cn
http://ZjBMnygI.skrww.cn
http://gNykVGXh.skrww.cn
http://z2lzfAMy.skrww.cn
http://eQkTXibS.skrww.cn
http://4B6wvGCf.skrww.cn
http://UvOMePzR.skrww.cn
http://FU2yMIYY.skrww.cn
http://wyDIidco.skrww.cn
http://FBfft4bM.skrww.cn
http://zEPvuwym.skrww.cn
http://IFQHU701.skrww.cn
http://guoYwLcT.skrww.cn
http://4vR1MBP1.skrww.cn
http://g4BBRga6.skrww.cn
http://bTxtvzfe.skrww.cn
http://vz9X2YKX.skrww.cn
http://w5crSXDq.skrww.cn
http://pxpeUNkD.skrww.cn
http://OSl2GkyY.skrww.cn
http://LKjTHDij.skrww.cn
http://www.dtcms.com/a/33021.html

相关文章:

  • 基于Flask的短视频流量数据可视化系统的设计与实现
  • 高速PCB电源层
  • Linux 使用nload 监控网络流量
  • Git入门:数据模型 to 底层原理
  • MQTT实现智能家居------2、写MQTT程序的思路
  • 电子技能大赛选题
  • 腿足机器人之十二-manipulation
  • 超过7万个AOI(地理围栏),北京市2025年2月15日更新的全类别AOI,本地矢量数据(全国22个超大特大城市AOI更新系列)
  • 【免费】1991-2017年地级以上城市气候数据
  • go-zero学习笔记(五)
  • 【Web RCE 漏洞常见类型】
  • [git]GIT提交带GPG签名改动到GITEE的配置方法
  • 骁勇善战的量化利器:多因子模型【量化理论】
  • Vue 中单向数据流原则
  • 2025-spring boot 之多数据源管理
  • HyperGraph(超图)
  • 【Redis数据结构】ziplist 压缩列表
  • nginx 反向代理 配置请求路由
  • 【网络编程】广播和组播
  • 【RK3588嵌入式图形编程】-SDL2-构建交互式按钮
  • 基于python+django的宠物商店-宠物管理系统源码+运行步骤
  • J4打卡—— ResNet 和 DenseNet结合实现鸟类分类
  • 用AI写游戏3——deepseek实现kotlin android studio greedy snake game 贪吃蛇游戏
  • 【quicker】调节PPT指定字号字体大小/快速调节WPS的PPT字体大小
  • 三级分类bug解决
  • 作用域的知识点总结
  • Day6 高精度加减算法+洛谷讲解
  • 开源RAG主流框架有哪些?如何选型?
  • 算法系列之分治算法
  • 从底层驱动到 OpenCV:深入解析 Linux 摄像头完整技术栈