0%

转载自Leet Code

题目描述

给你一个目标数组target和一个整数n。 每次迭代,需要从list = {1,2,3..., n}中依序读取一个数字。

请使用下述操作来构建目标数组target

  • Push:从list中读取一个新元素,并将其推入数组中。
  • Pop:删除数组中的最后一个元素。
  • 如果目标数组构建完成,就停止读取更多元素。

题目数据保证目标数组严格递增,并且只包含1n之间的数字。 请返回构建目标数组所用的操作序列。 题目数据保证答案是唯一的。

Read more »

转载自Leet Code

题目描述

给定一份旅游线路图,其中的旅行线路用数组paths表示,

其中paths[i] = [cityAi, cityBi]表示该线路将会从cityAi直达cityBi

请找出这次旅行的终点站,即没有任何可以通往其他城市的线路的城市。

(测试数据保证会形成一条不存在循环的线路,因此恰有一个旅行终点站。)

Read more »

转载自Leet Code《剑指Offer》

题目描述

给定一个链表,判断链表中是否有环。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos-1,则在该链表中没有环。

注意:pos不作为参数进行传递,仅仅是为了标识链表的实际情况。 如果链表中存在环,则返回 true 。 否则,返回 false

Read more »

转载自Leet Code

题目描述

罗马数字包含以下七种字符: I, V, X, LCD 和 M

\[ \begin{array}{c|lcr} 字符 & I & V & X & L & C & D & M\\ \hline 数值 & 1 & 5 & 10 & 50 & 100 & 500 & 1000\\ \end{array} \]

例如, 罗马数字 2 写做 II ,即为两个并列的 1。12 写做 XII ,即为 X + II 。 27 写做  XXVII, 即为 XX + V + II 。

通常情况下,罗马数字中小的数字在大的数字的右边。但也存在特例,例如 4 不写做 IIII,而是 IV。数字 1 在数字 5 的左边,所表示的数等于大数 5 减小数 1 得到的数值 4 。同样地,数字 9 表示为 IX。这个特殊的规则只适用于以下六种情况:

  • I 可以放在 V (5) 和 X (10) 的左边,来表示 4 和 9。
  • X 可以放在 L (50) 和 C (100) 的左边,来表示 40 和 90。
  • C 可以放在 D (500) 和 M (1000) 的左边,来表示 400 和 900。

给定一个罗马数字,将其转换成整数。输入确保在 1 到 3999 的范围内。

Read more »

转载自Leet Code

题目描述

给你一个单链表的引用结点 head。链表中每个结点的值不是 0 就是 1。 已知此链表是一个整数数字的二进制表示形式。 请你返回该链表所表示数字的 十进制值

Read more »