随笔分类 -  leetcode

1 2 3 4 5 ··· 7 下一页
摘要:题目: 解答: 笨比O(N)算法,先用unordered_set去重,O(N)。再用小顶堆,所有元素push一遍,维持其size不大于3,这部分O(N*Log4)=O(N)。加起来还是O(N)。当然这只是理论时间复杂度。另外空间复杂度O(N)。 class Solution { public: in 阅读全文
posted @ 2020-07-19 03:25 NeoZy 阅读(106) 评论(0) 推荐(0)
摘要:题目: 解答: class Solution { public: string toHex(int num) { if(num==0){ return "0"; } int x=num; string p="0123456789abcdef"; string res=""; while(res.si 阅读全文
posted @ 2020-07-18 01:53 NeoZy 阅读(458) 评论(0) 推荐(0)
摘要:题目: 在计算机界中,我们总是追求用有限的资源获取最大的收益。 现在,假设你分别支配着 m 个 0 和 n 个 1。另外,还有一个仅包含 0 和 1 字符串的数组。 你的任务是使用给定的 m 个 0 和 n 个 1 ,找到能拼出存在于数组中的字符串的最大数量。每个 0 和 1 至多被使用一次。 注意 阅读全文
posted @ 2020-04-25 12:17 NeoZy 阅读(211) 评论(0) 推荐(0)
摘要:题目: 视频游戏“辐射4”中,任务“通向自由”要求玩家到达名为“Freedom Trail Ring”的金属表盘,并使用表盘拼写特定关键词才能开门。 给定一个字符串 ring,表示刻在外环上的编码;给定另一个字符串 key,表示需要拼写的关键词。您需要算出能够拼写关键词中所有字符的最少步数。 最初, 阅读全文
posted @ 2020-04-24 21:14 NeoZy 阅读(201) 评论(0) 推荐(0)
摘要:题目: 给定一个由 0 和 1 组成的矩阵,找出每个元素到最近的 0 的距离。 两个相邻元素间的距离为 1 。 示例 1:输入: 0 0 00 1 00 0 0输出: 0 0 00 1 00 0 0示例 2:输入: 0 0 00 1 01 1 1输出: 0 0 00 1 01 2 1注意: 给定矩阵 阅读全文
posted @ 2020-04-23 02:37 NeoZy 阅读(171) 评论(0) 推荐(0)
摘要:题目: 设计一个简化版的推特(Twitter),可以让用户实现发送推文,关注/取消关注其他用户,能够看见关注人(包括自己)的最近十条推文。你的设计需要支持以下的几个功能: postTweet(userId, tweetId): 创建一条新的推文getNewsFeed(userId): 检索最近的十条 阅读全文
posted @ 2020-04-21 18:27 NeoZy 阅读(143) 评论(0) 推荐(0)
摘要:今天字节客户端三面问了这道题,没做出来。第一,之前没见过lfu,第二,要求O(1)时间,条件苛刻一点。只能说无缘字节。 言归正传,LFU算法:least frequently used,最近最不经常使用算法。 什么意思呢:对于每个条目,维护其使用次数cnt、最近使用时间time。 cache容量为n 阅读全文
posted @ 2020-04-21 03:10 NeoZy 阅读(2453) 评论(0) 推荐(1)
摘要:LRU:Least Recently used 操作系统课上讲过。整体是用一个栈,新使用的就抽出来放到栈顶端。如果栈大小达到限制那么删除栈底。 当然这样时间复杂度太高,查找时间O(n),更新时间O(n)。 如果上面的两个操作时间复杂度要达到O(1)的话。思考:查找O(1),也就是有一个key,O(1 阅读全文
posted @ 2020-04-21 01:36 NeoZy 阅读(246) 评论(0) 推荐(0)
摘要:题目: 硬币。给定数量不限的硬币,币值为25分、10分、5分和1分,编写代码计算n分有几种表示法。(结果可能会很大,你需要将结果模上1000000007) 示例1: 输入: n = 5 输出:2 解释: 有两种方式可以凑成总金额:5=55=1+1+1+1+1示例2: 输入: n = 10 输出:4 阅读全文
posted @ 2020-04-08 01:24 NeoZy 阅读(268) 评论(0) 推荐(0)
摘要:题目: 在经典汉诺塔问题中,有 3 根柱子及 N 个不同大小的穿孔圆盘,盘子可以滑入任意一根柱子。一开始,所有盘子自上而下按升序依次套在第一根柱子上(即每一个盘子只能放在更大的盘子上面)。移动圆盘时受到以下限制:(1) 每次只能移动一个盘子;(2) 盘子只能从柱子顶端滑出移到下一根柱子;(3) 盘子 阅读全文
posted @ 2020-04-05 17:41 NeoZy 阅读(191) 评论(0) 推荐(0)
摘要:题目: 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。 上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水(蓝色部分表示雨水)。 感谢 Marcos 贡献此图。 示例: 输入: [ 阅读全文
posted @ 2020-04-04 14:10 NeoZy 阅读(126) 评论(0) 推荐(0)
摘要:题目: 幂集。编写一种方法,返回某集合的所有子集。集合中不包含重复的元素。 说明:解集不能包含重复的子集。 示例: 输入: nums = [1,2,3] 输出:[ [3], [1], [2], [1,2,3], [1,3], [2,3], [1,2], []] 解答: 对于每个数字,可取可不取。对于 阅读全文
posted @ 2020-04-03 23:35 NeoZy 阅读(339) 评论(0) 推荐(0)
摘要:题目: 现在给定一个只由字符 'D' 和 'I' 组成的 秘密签名。'D' 表示两个数字间的递减关系,'I' 表示两个数字间的递增关系。并且 秘密签名 是由一个特定的整数数组生成的,该数组唯一地包含 1 到 n 中所有不同的数字(秘密签名的长度加 1 等于 n)。例如,秘密签名 "DI" 可以由数组 阅读全文
posted @ 2020-04-02 21:57 NeoZy 阅读(425) 评论(0) 推荐(0)
摘要:题目: 配对交换。编写程序,交换某个整数的奇数位和偶数位,尽量使用较少的指令(也就是说,位0与位1交换,位2与位3交换,以此类推)。 示例1: 输入:num = 2(或者0b10) 输出 1 (或者 0b01)示例2: 输入:num = 3 输出:3提示: num的范围在[0, 2^30 - 1]之 阅读全文
posted @ 2020-04-02 00:57 NeoZy 阅读(222) 评论(0) 推荐(0)
摘要:题目: 有效括号字符串 仅由 "(" 和 ")" 构成,并符合下述几个条件之一: 空字符串连接,可以记作 AB(A 与 B 连接),其中 A 和 B 都是有效括号字符串嵌套,可以记作 (A),其中 A 是有效括号字符串类似地,我们可以定义任意有效括号字符串 s 的 嵌套深度 depth(S): s 阅读全文
posted @ 2020-04-01 13:51 NeoZy 阅读(224) 评论(0) 推荐(0)
摘要:题目: 二进制数转字符串。给定一个介于0和1之间的实数(如0.72),类型为double,打印它的二进制表达式。如果该数字不在0和1之间,或者无法精确地用32位以内的二进制表示,则打印“ERROR”。 解答: 0.625:*2=1.25,把1拿走得到0.1;剩下0.25*2=0.5,没有1,得到0. 阅读全文
posted @ 2020-03-30 13:54 NeoZy 阅读(208) 评论(0) 推荐(0)
摘要:题目: 你现在手里有一份大小为 N x N 的『地图』(网格) grid,上面的每个『区域』(单元格)都用 0 和 1 标记好了。其中 0 代表海洋,1 代表陆地,你知道距离陆地区域最远的海洋区域是是哪一个吗?请返回该海洋区域到离它最近的陆地区域的距离。 我们这里说的距离是『曼哈顿距离』( Manh 阅读全文
posted @ 2020-03-29 23:32 NeoZy 阅读(331) 评论(0) 推荐(0)
摘要:题目: 给定一个单词列表,我们将这个列表编码成一个索引字符串 S 与一个索引列表 A。 例如,如果这个列表是 ["time", "me", "bell"],我们就可以将其表示为 S = "time#bell#" 和 indexes = [0, 2, 5]。 对于每一个索引,我们可以通过从字符串 S  阅读全文
posted @ 2020-03-28 21:04 NeoZy 阅读(188) 评论(0) 推荐(0)
摘要:数据库太菜,怕笔试面试考sql语句,练几天 给定表 customer ,里面保存了所有客户信息和他们的推荐人。 + + + +| id | name | referee_id|+ + + +| 1 | Will | NULL || 2 | Jane | NULL || 3 | Alex | 2 || 阅读全文
posted @ 2020-03-28 02:56 NeoZy 阅读(223) 评论(0) 推荐(0)
摘要:题目: 插入。给定两个32位的整数N与M,以及表示比特位置的i与j。编写一种方法,将M插入N,使得M从N的第j位开始,到第i位结束。假定从j位到i位足以容纳M,也即若M = 10 011,那么j和i之间至少可容纳5个位。例如,不可能出现j = 3和i = 2的情况,因为第3位和第2位之间放不下M。 阅读全文
posted @ 2020-03-27 15:21 NeoZy 阅读(161) 评论(0) 推荐(0)

1 2 3 4 5 ··· 7 下一页