摘要: Trie用于高效地存储和查找字符串集合的数据结构 比如字符串abcd, abce, ac, ba, bc Trie的存储结构如下图所示,其中字符串结尾会有特殊标记 root / \ a b / \ / \ b c a c / c / \ d e 这里用二维数组实现trie树, 假设树中只有小写字母结 阅读全文
posted @ 2019-07-24 01:41 roov 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 给定一类锥区域,已知点P,点D坐标,判断D在类锥形区域的哪一部分 向量OP 垂直 PA, 向量PB 垂直 向量OC 由图可知,向量OP与向量AP乘积为0,当点D从A往B方向移动时,向量OP与DP的夹角大于90度,两者乘积小于0 由图同样可知,向量OP在PA上投影恰好为圆的半径r,当点从A往B方向移动 阅读全文
posted @ 2019-07-20 20:54 roov 阅读(6) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2019-07-18 15:43 roov 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 图1 阅读全文
posted @ 2019-07-18 15:03 roov 阅读(7) 评论(0) 推荐(0) 编辑
摘要: 题目描述: 给你一根长度为 nn 绳子,请把绳子剪成 mm 段(mm、nn 都是整数,2≤n≤582≤n≤58 并且 m≥2m≥2)。 每段的绳子的长度记为k[0]、k[1]、……、k[m]。k[0]k[1] … k[m] 可能的最大乘积是多少? 例如当绳子的长度是8时,我们把它剪成长度分别为2、3 阅读全文
posted @ 2019-07-16 22:46 roov 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 类锥形区域定义 蓝线部分的区域是由一个圆不断更新圆心和半径形成的 圆初始为A(ax, ay),半径为r 圆随着参数t而变化,t的取值范围为(0, 1],圆的半径为r/t, 圆心坐标为(ax/t, ay/t) 圆扩展的方向为向量 v 方向 问题描述 对于类锥形区域内的一点C,求C到类锥形区域最近的距离 阅读全文
posted @ 2019-07-16 04:36 roov 阅读(9) 评论(0) 推荐(0) 编辑
摘要: 题目: 输入一个链表的头结点,按照 从尾到头 的顺序返回节点的值。 返回的结果用数组存储。 样例 输入:[2, 3, 5] 返回:[5, 3, 2] 解题思路: 因为返回的是vector,考虑新建vector,将链表的值压入vector中,最后将vector反转 代码: 阅读全文
posted @ 2019-07-16 03:19 roov 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 题目: 请实现一个函数,把字符串中的每个空格替换成"%20"。 你可以假定输入字符串的长度最大是1000。注意输出字符串的长度可能大于1000。 样例 输入:We are happy. 输出:We%20are%20happy. 解题思路: 直接在原数组上操作会考虑移动元素的问题,比较麻烦 直接开辟一 阅读全文
posted @ 2019-07-16 03:10 roov 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 题目 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。 请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 样例 输入数组: [ [1,2,8,9], [2,4,9,12], [4,7,10,13], [6,8,11,15] ] 如 阅读全文
posted @ 2019-07-16 03:02 roov 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 题目描述: 给定一个长度为 n+1 的数组nums,数组中所有的数均在 1∼n1∼n 的范围内,其中 n≥1n≥1。 请找出数组中任意一个重复的数,但不能修改输入的数组。 样例 给定 nums = [2, 3, 5, 4, 3, 2, 6, 7]。 返回 2 或 3。 思考题:如果只能使用 O(1) 阅读全文
posted @ 2019-07-16 02:30 roov 阅读(2) 评论(0) 推荐(0) 编辑