随笔分类 -  oj记录

上一页 1 2 3 4 5 6 7 8 ··· 15 下一页
没事刷刷oj,总是会对自己有帮助的
摘要:Q:给定一个整数 n,求以 1 ... n 为节点组成的二叉搜索树有多少种? 示例: 输入: 3 输出: 5 解释: 给定 n = 3, 一共有 5 种不同结构的二叉搜索树 A: 卡特兰数 考研时数据结构有考过这种题目,同类型的还有入栈顺序为1,2,3……,n,出栈有多少种方法。 公式: $$h(n 阅读全文
posted @ 2020-05-07 10:47 Shaw_喆宇 阅读(171) 评论(0) 推荐(0)
摘要:蓄水池算法 引用: "蓄水池采样算法(Reservoir Sampling)" 采样问题经常会被遇到,比如: 从 100000 份调查报告中抽取 1000 份进行统计。 从一本很厚的电话簿中抽取 1000 人进行姓氏统计。 从 Google 搜索 "Ken Thompson",从中抽取 100 个结 阅读全文
posted @ 2020-05-06 11:56 Shaw_喆宇 阅读(387) 评论(0) 推荐(0)
摘要:Q:实现 int sqrt(int x) 函数。 计算并返回 x 的平方根,其中 x 是非负整数。 由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。 示例 1: 输入: 4 输出: 2 示例 2: 输入: 8 输出: 2 说明: 8 的平方根是 2.82842..., 由于返回类型是整数 阅读全文
posted @ 2020-05-04 15:50 Shaw_喆宇 阅读(377) 评论(0) 推荐(0)
摘要:[TOC] 一般解决多线程问题,有以下几种解决方式: 1. Semaphore(信号量) 2. Lock(管程模型),无锁 3. CountDownLatch(计数器) 4. CyclicBarrier(循环栅栏) Semaphore(信号量) Semaphore主要用于控制当前活动线程数目,就如同 阅读全文
posted @ 2020-05-03 19:43 Shaw_喆宇 阅读(933) 评论(1) 推荐(0)
摘要:Q:给定整数 n 和 k,找到 1 到 n 中字典序第 k 小的数字。 注意:$1 ≤ k ≤ n ≤ 10^9$。 示例 : 输入: n: 13 k: 2 输出: 10 解释: 字典序的排列是 [1, 10, 11, 12, 13, 2, 3, 4, 5, 6, 7, 8, 9],所以第二小的数字 阅读全文
posted @ 2020-04-28 10:58 Shaw_喆宇 阅读(386) 评论(0) 推荐(0)
摘要:Q:给定一个整数 n, 返回从 1 到 n 的字典顺序。 例如, 给定 n =1 3,返回 [1,10,11,12,13,2,3,4,5,6,7,8,9] 。 请尽可能的优化算法的时间复杂度和空间复杂度。 输入的数据 n 小于等于 5,000,000。 A: 1.第一想法是用map,map的key是 阅读全文
posted @ 2020-04-27 15:08 Shaw_喆宇 阅读(263) 评论(0) 推荐(0)
摘要:Q:给定一个非空数组,返回此数组中第三大的数。如果不存在,则返回数组中最大的数。要求算法时间复杂度必须是O(n)。 示例 1: 输入: [3, 2, 1] 输出: 1 解释: 第三大的数是 1. 示例 2: 输入: [1, 2] 输出: 2 解释: 第三大的数不存在, 所以返回最大的数 2 . 示例 阅读全文
posted @ 2020-04-27 14:15 Shaw_喆宇 阅读(168) 评论(0) 推荐(0)
摘要:Q:给定两个大小为 m 和 n 的有序数组 nums1 和 nums2。 请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为 O(log(m + n))。 你可以假设 nums1 和 nums2 不会同时为空。 示例 1: nums1 = [1, 3] nums2 = [2] 则中位数是 2 阅读全文
posted @ 2020-04-27 13:48 Shaw_喆宇 阅读(280) 评论(0) 推荐(0)
摘要:Q:给你一个未排序的整数数组,请你找出其中没有出现的最小的正整数。 示例 1: 输入: [1,2,0] 输出: 3 示例 2: 输入: [3,4, 1,1] 输出: 2 示例 3: 输入: [7,8,9,11,12] 输出: 1 提示: 你的算法的时间复杂度应为O(n),并且只能使用常数级别的额外空 阅读全文
posted @ 2020-04-27 10:39 Shaw_喆宇 阅读(115) 评论(0) 推荐(0)
摘要:Q:给你一棵二叉搜索树,请你返回一棵 平衡后 的二叉搜索树,新生成的树应该与原来的树有着相同的节点值。 如果一棵二叉搜索树中,每个节点的两棵子树高度差不超过 1 ,我们就称这棵二叉搜索树是 平衡的 。 如果有多种构造方法,请你返回任意一种。 输入:root = [1,null,2,null,3,nu 阅读全文
posted @ 2020-04-23 13:46 Shaw_喆宇 阅读(241) 评论(0) 推荐(0)
摘要:Q:给定一棵二叉树,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。 A: 层次遍历,取每层最后一个。 阅读全文
posted @ 2020-04-23 11:58 Shaw_喆宇 阅读(143) 评论(0) 推荐(0)
摘要:Q:中位数是有序序列最中间的那个数。如果序列的大小是偶数,则没有最中间的数;此时中位数是最中间的两个数的平均数。 例如: [2,3,4],中位数是 3 [2,3],中位数是 (2 + 3) / 2 = 2.5 给你一个数组 nums,有一个大小为 k 的窗口从最左端滑动到最右端。窗口中有 k 个数, 阅读全文
posted @ 2020-04-23 11:30 Shaw_喆宇 阅读(213) 评论(0) 推荐(0)
摘要:Q:给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。 如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。 您可以假设除了数字 0 之外,这两个数都不会以 0 开头。 示例: 输入:(2 4 3) + 阅读全文
posted @ 2020-04-22 15:41 Shaw_喆宇 阅读(127) 评论(0) 推荐(0)
摘要:Q:给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。 示例 1: 输入: "babad" 输出: "bab" 注意: "aba" 也是一个有效答案。 示例 2: 输入: "cbbd" 输出: "bb" A: 1.常见错误(引用:@windliang) 根据回文 阅读全文
posted @ 2020-04-22 15:18 Shaw_喆宇 阅读(241) 评论(0) 推荐(0)
摘要:Q:给定两个字符串 s1 和 s2,写一个函数来判断 s2 是否包含 s1 的排列。 换句话说,第一个字符串的排列之一是第二个字符串的子串。 示例1: 输入: s1 = "ab" s2 = "eidbaooo" 输出: True 解释: s2 包含 s1 的排列之一 ("ba"). 示例2: 输入: 阅读全文
posted @ 2020-04-22 11:18 Shaw_喆宇 阅读(202) 评论(0) 推荐(0)
摘要:Q:你有 4 张写有 1 到 9 数字的牌。你需要判断是否能通过 ,/,+, ,(,) 的运算得到 24。 示例 1: 输入: [4, 1, 8, 7] 输出: True 解释: (8 4) (7 1) = 24 示例 2: 输入: [1, 2, 1, 2] 输出: False 注意: 除法运算符  阅读全文
posted @ 2020-04-21 11:59 Shaw_喆宇 阅读(464) 评论(0) 推荐(0)
摘要:Q:5 个沉默寡言的哲学家围坐在圆桌前,每人面前一盘意面。叉子放在哲学家之间的桌面上。(5 个哲学家,5 根叉子) 所有的哲学家都只会在思考和进餐两种行为间交替。哲学家只有同时拿到左边和右边的叉子才能吃到面,而同一根叉子在同一时间只能被一个哲学家使用。每个哲学家吃完面后都需要把叉子放回桌面以供其他哲 阅读全文
posted @ 2020-04-21 11:07 Shaw_喆宇 阅读(1156) 评论(0) 推荐(1)
摘要:Java JavaScript 输入输出 Java 集合用法 链接 Java ArrayList和Array常用方法 Java String常用方法 Java Stack,Queue,PriorityQueue,deque相关操作 Java Map的常用方法 Java Set详解 数组 系列 链接 阅读全文
posted @ 2020-04-20 16:10 Shaw_喆宇 阅读(1302) 评论(0) 推荐(0)
摘要:Q:在本问题中, 树指的是一个连通且无环的无向图。输入一个图,该图由一个有着N个节点 (节点值不重复1, 2, ..., N) 的树及一条附加的边构成。附加的边的两个顶点包含在1到N中间,这条附加的边不属于树中已存在的边。结果图是一个以边组成的二维数组。每一个边的元素是一对[u, v] ,满足 u 阅读全文
posted @ 2020-04-20 12:05 Shaw_喆宇 阅读(720) 评论(0) 推荐(0)
摘要:Q:由 n 个连接的字符串 s 组成字符串 S,记作 S = [s,n]。例如,["abc",3]=“abcabcabc”。 如果我们可以从 s2 中删除某些字符使其变为 s1,则称字符串 s1 可以从字符串 s2 获得。例如,根据定义,"abc" 可以从 “abdbec” 获得,但不能从 “acb 阅读全文
posted @ 2020-04-20 11:16 Shaw_喆宇 阅读(239) 评论(0) 推荐(0)

上一页 1 2 3 4 5 6 7 8 ··· 15 下一页