#include <vector> #include <algorithm> #include <iostream> using namespace std; // https://leetcode.cn/problems/dungeon-game/ class Solution { public: int process1(int x, int y, i
#include <iostream> #include <vector> #include <stack> #include <unordered_map> using namespace std; struct TreeNode { int val; TreeNode* left; TreeNode* right;
员工的重要性给定一个保存员工信息的数据结构,它包含了员工 唯一的 id ,重要度 和 直系下属的 id 。比如,员工 1 是员工 2 的领导,员工 2 是员工 3 的领导。他们相应的重要度为 15 , 10 , 5 。那么员工 1 的数据结构是 [1, 15, [2]] ,员工 2的 数据结构是 [2, 10, [3]] ,员工 3 的数据结构是 [3, 5, []] 。注意虽然员工 3 也是员工
还要考虑一个问题,我们的状态定义的是从最上层到当前位置的最小路径和,也就是我们
CC31 三角形给出一个三角形,计算从三角形顶部到底部的最小路径和,每一步都可以移动到下面一行相邻的数字,例如,给出的三角形如下:[[20],[30,40],[60,50,70],[40,10,80,30]]最小的从顶部到底部的路径和是20 + 30 + 50 + 10 = 110。注意:如果你能只用O(N)的额外的空间来完成这项工作的话,就可以得到附加分,其中N是三角形中的行总数。试题链接CC3
给定一个字符串s和一组单词dict,判断s是否可以用空格分割成一个单词序列,使得单词序列中所有的单词都是dict中的单词(序列可以包含一个或多个单词)。例如:给定s=“nowcode”;dict=["now", "code"].返回true,因为"nowcode"可以被分割成"now code".试题链接 : CC12 拆分词句说一下思路,这里我用的是动态规划.状态定义 :
值为 2 的数,它们都排第二。在所有不同数字中排第三大的数为 1。给你一个非空数组,返回此数组中 第三大的数。解释:注意,要求返回第三大的数,是指在所有不同数字中排第三大的数。注意,这道题有点坑,我们这里需要去重,排序最好使用set去重+排序。解释:第三大的数不存在, 所以返回最大的数 2。输入:[2, 2, 3, 1]解释:第三大的数是 1。输入:[3, 2, 1]
Copyright © 2005-2023 51CTO.COM 版权所有 京ICP证060544号