力扣2045-到达目的地第二短时间

2045. 到达目的地的第二短时间

题目描述

城市用一个 双向连通 图表示,图中有 n 个节点,从 1 到 n 编号(包含 1 和 n)。图中的边用一个二维整数数组 edges 表示,其中每个 edges[i] = [ui, vi] 表示一条节点 ui 和节点 vi 之间的双向连通边。每组节点对由 最多一条 边连通,顶点不存在连接到自身的边。穿过任意一条边的时间是 time 分钟。

每个节点都有一个交通信号灯,每 change 分钟改变一次,从绿色变成红色,再由红色变成绿色,循环往复。所有信号灯都 同时 改变。你可以在 任何时候 进入某个节点,但是 只能 在节点 信号灯是绿色时 才能离开。如果信号灯是 绿色 ,你 不能 在节点等待,必须离开。

第二小的值 是 严格大于 最小值的所有值中最小的值。

例如,[2, 3, 4] 中第二小的值是 3 ,而 [2, 2, 4] 中第二小的值是 4 。
给你 n、edges、time 和 change ,返回从节点 1 到节点 n 需要的 第二短时间 。

注意:

你可以 任意次 穿过任意顶点,包括 1 和 n 。
你可以假设在 启程时 ,所有信号灯刚刚变成 绿色 。

示例 1:

💡 阅读更多

对copy-constructor的一点理解

Memberwise Initialization

在默认情况下,当以某个class object作为另一个object的初值时,会发生成员逐一初始化,

1
2
Example E1(8);
Example E2 = E1;

class data member会被依次复制,即对象中的每个成员都会被复制到另一个对象的相应成员上。

对于这种情况:

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
class Matrix {
public:
Matrix(int row, int col) : _row(row), _col(col)
{
_pmat = new double[row * col];
}
~Matrix()
{
delete [] _pmat;
}
private:
int _row, _col;
double *_pmat;
};


// in this case

Matrix mat(4, 4);
//此处constructor发生作用
{
Matrix mat2 = mat;
// 此处进行了default memberwise initialization
// ...
// 此处,mat2的destructor发生作用。
}

根据默认的成员逐一初始化,mat2._pmat = mat._pmat,所以这两个指针指向了同一个堆内存空间内的数组,当mat2的析构函数发生作用时,该内存空间便被释放,但是mat的指针还是指同一空间,此时再使用这个指针就会产生严重错误。

💡 阅读更多

很久之前做的一些PTA上的题目

2021年年初的时候学习算法时做的一些PTA上的题,一直放在电脑里不舍得删但看着麻烦也怕丢失就放到了github的仓库里。

https://github.com/yydrowz3/somePTAProblemsCode

具体的题号没有写明,文件的名字是由题目的标题变化而来,如果真的想找到原题的话可以用对应的文件名搜一下题。

由于实在是间隔甚远再加上当时偷懒没做好标记,无力单独分开汇总。或许哪天有空了再说。

都是能AC的代码,也不求能帮到别人,只是想记录一下当时敲过的这些东西。

💡 阅读更多

最近的一些想法和说给自己的碎碎念

想了一下,也真的是好久没写东西了,经典明天小测验现在摆烂不复习。其实也不是什么故意不复习,就只是感觉现在没有那么患得患失了,对这种东西看得不是那么重,也许这也仅仅是我懒得动脑子的借口罢了。

最近一直感觉自己脑子里很乱,有很多的想法,当然其中也包括了不少垃圾想法,现在在敲这些文字的时候也感觉有很多想写但是又不知道写什么,语言完全组织不起来,不知道这是什么情况。现在宿舍里就我一个人,但是舍友也大概要回来了,暂停了耳机里的歌,希望这短暂的安静的环境能让我好好整理一下脑子里的东西。

💡 阅读更多

巨龙坎是怎么回事呢?【多图预警】

一周年直播过后的第一天,溜了一天的切片了,复习之余闲的没事记录一下前几天的巨龙坎经历。

事情的起因是前几周看到A-SOUL官方发的和小龙坎的工商,就是一个吃火锅送立牌的活动。说实话自己其实对火锅没有那么大的兴趣,但是看到A-SOUL来自己在的城市线下活动了还是一下子挺兴奋的。其实是想去线下发病

💡 阅读更多

在学C++Primer做的一些笔记

大概是一个月前,实在是闲的没事,在图书馆想找点C++的书学习学习这个我一直没深入的语言。本来是奔着Essential C++去的,结果找了一圈只有英文版的而且还是旧版,想想就还是算了吧,这种技术肯定是要看新标准的更好。最后只找到了这本C++ Primer,虽然我内心对这种大部头的书比较抗拒,但是要想学好一门技术,这种权威的书籍是最好的。

看看这包浆的封面和书页,这块大砖也肯定帮到过不少人吧。

💡 阅读更多
Your browser is out-of-date!

Update your browser to view this website correctly.&npsb;Update my browser now

×