爨爨爨好

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2018年1月30日

摘要: ▶ 一个学生的考勤状况是一个字符串,其中各字符的含义是:A 缺勤,L 迟到,P 正常。如果一个学生考勤状况中 A 不超过一个,且没有连续两个 L(L 可以有多个,但是不能连续),则称该学生达标(原文表述:A student could be rewarded if his attendance re 阅读全文
posted @ 2018-01-30 22:27 爨爨爨好 阅读(246) 评论(0) 推荐(0) 编辑

摘要: ▶ n 对夫妻共 2n 个人随机坐成一排,“交换其中某两人的位置” 称为一次操作,求最少的操作此次数,使 n 对夫妻两人都相邻。初始座位为非负整数列 D1n-1,其中值为 2k 和 2k+1 的两个元素为一对夫妻。(本体尚未有 Discuss或 Solution) ● 代码,2 ms,顺着梳理 ● 阅读全文
posted @ 2018-01-30 20:13 爨爨爨好 阅读(452) 评论(0) 推荐(0) 编辑

摘要: ▶ 将一群人的关系网络划分为几个连通子图,且子图之间两两不连通,求这种连通子图的数量 ● 代码,22 ms,深度优先遍历 ● 代码,21 ms,建立森林,并且定义了专用于这类合并问题的类 UnionFind,本问题中可以完全去掉节点等级变量 rank ● 广度优先遍历,24 ms ● 收录两个 py 阅读全文
posted @ 2018-01-30 19:50 爨爨爨好 阅读(175) 评论(0) 推荐(0) 编辑

摘要: ▶ 要求给出一种对 URL 网址进行压缩和解压的算法,例如 https://leetcode.com/problems/design-tinyurl ←→ http://tinyurl.com/4e9iAk,在不允许打表的情况下应该无法压缩的。 ● 代码,6 ms,完全不压缩,just for fu 阅读全文
posted @ 2018-01-30 17:30 爨爨爨好 阅读(148) 评论(0) 推荐(0) 编辑

摘要: ▶ 将一个单词 W1 以字母为最小单位拆成一棵二叉树,旋转其中的某几个结点的左右子树,再拼装回去得到单词 W2,我们称 W1 与 W2 等价。现在给出两个单词,判定他们是否等价。 ● 代码,4 ms,递归,最快的解法算法与之相同。有方法利用 unordered_map 缓存了各子串的判定结果,但由于 阅读全文
posted @ 2018-01-30 15:21 爨爨爨好 阅读(170) 评论(0) 推荐(0) 编辑

摘要: ▶ 求一个整数数列的和最大子串 ● 代码,12 ms,动态规划,时间复杂度 O(n),最快的解法算法与之相同。记 f( i ) 为 “数组 num 中以第 i 位作为结尾的子串的最大和”,那么有 f(i) = nums[i] + (f(i - 1) > 0 ? f(i - 1) : 0); ● 代码 阅读全文
posted @ 2018-01-30 12:18 爨爨爨好 阅读(137) 评论(0) 推荐(0) 编辑

摘要: ▶ 有两个单链表,从中间某个节点开始结点完全相同,找出该节点。 ● 神奇的双指针法,34 ms,,详细步骤见代码注释(设两个单链表结点个数分别为 m 和 n,公共部分长为 k),时间复杂度 O(n),空间复杂度 O(1) ● 双指针法高压版,36 ms ● 代码,55 ms,便于理解的一个双指针法, 阅读全文
posted @ 2018-01-30 11:30 爨爨爨好 阅读(146) 评论(0) 推荐(0) 编辑