
面试题
郑大那只鸟
一只迷途中的大学生
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
卡牌分组 C语言
给定一副牌,每张牌上都写着一个整数。 此时,你需要选定一个数字 X,使我们可以将整副牌按下述规则分成 1 组或更多组: 每组都有 X 张牌。 组内所有的牌上都写着相同的整数。 仅当你可选的 X >= 2 时返回 true。 示例 1: 输入:[1,2,3,4,4,3,2,1] 输出:true 解释:可行的分组是 [1,1],[2,2],[3,3],[4,4] 示例 2: 输入...原创 2020-03-27 21:10:34 · 336 阅读 · 0 评论 -
三维形体的表面积 C语言
注释中有分析哦! 在 N * N 的网格上,我们放置一些 1 * 1 * 1 的立方体。 每个值 v = grid[i][j] 表示 v 个正方体叠放在对应单元格 (i, j) 上。 请你返回最终形体的表面积。 示例 1: 输入:[[2]] 输出:10 示例 2: 输入:[[1,2],[3,4]] 输出:34 示例 3: 输入:[[1,0],[0,2]] 输出:16 来源:力扣(LeetCod...原创 2020-03-25 20:33:18 · 278 阅读 · 0 评论 -
寻找两个有序数组的中位数 C语言 就怕你不会
反正作为菜鸡的我 这道题是真真正正难住了我,找了无数题解 看了n遍代码 才真正搞懂 所以我决定要好好把这道题撕一撕。 先把解析资料放这 是不是资料看得头大 让我通俗的讲一讲: 第一点 对于合并后的数组,其前一半的数组是不是肯定有前n个A数组中的数和前m 个B数组中的数组成,我要是能确定n和m是不是肯定能得出答案 ps:m+n是定值是Asize+Bsize的一半 所以肯定是有限个组...原创 2020-03-25 18:50:02 · 737 阅读 · 0 评论 -
链表的中间结点 C语言
l给定一个带有头结点 head 的非空单链表,返回链表的中间结点。 如果有两个中间结点,则返回第二个中间结点。 示例 1: 输入:[1,2,3,4,5] 输出:此列表中的结点 3 (序列化形式:[3,4,5]) 返回的结点值为 3 。 (测评系统对该结点序列化表述是 [3,4,5])。 注意,我们返回了一个 ListNode 类型的对象 ans,这样: ans.val = 3, ans.next...原创 2020-03-23 21:44:05 · 169 阅读 · 0 评论 -
矩形重叠 C语言
矩形以列表 [x1, y1, x2, y2] 的形式表示,其中 (x1, y1) 为左下角的坐标,(x2, y2) 是右上角的坐标。 如果相交的面积为正,则称两矩形重叠。需要明确的是,只在角或边接触的两个矩形不构成重叠。 给出两个矩形,判断它们是否重叠并返回结果。 示例 1: 输入:rec1 = [0,0,2,2], rec2 = [1,1,3,3] 输出:true 示例 2: 输入:rec1 ...原创 2020-03-18 21:58:41 · 1676 阅读 · 0 评论 -
字符串压缩
字符串压缩。利用字符重复出现的次数,编写一种方法,实现基本的字符串压缩功能。比如,字符串aabcccccaaa会变为a2b1c5a3。若“压缩”后的字符串没有变短,则返回原先的字符串。你可以假设字符串中只包含大小写英文字母(a至z)。 示例1: 输入:“aabcccccaaa” 输出:“a2b1c5a3” 示例2: 输入:“abbccd” 输出:“abbccd” 解释:“abbccd"压缩...原创 2020-03-16 23:05:51 · 477 阅读 · 0 评论 -
多数元素 C语言
给定一个大小为 n 的数组,找到其中的多数元素。多数元素是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素。 你可以假设数组是非空的,并且给定的数组总是存在多数元素。 示例 1: 输入: [3,2,3] 输出: 3 示例 2: 输入: [2,2,1,1,1,2,2] 输出: 2 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/majority...原创 2020-03-13 23:21:42 · 493 阅读 · 0 评论 -
领扣1071 字符串的最大公因子 C语言
对于字符串 S 和 T,只有在 S = T + … + T(T 与自身连接 1 次或多次)时,我们才认定 “T 能除尽 S”。 返回最长字符串 X,要求满足 X 能除尽 str1 且 X 能除尽 str2。 示例 1: 输入:str1 = “ABCABC”, str2 = “ABC” 输出:“ABC” 示例 2: 输入:str1 = “ABABAB”, str2 = “ABAB” 输出:“AB” ...原创 2020-03-12 16:20:49 · 160 阅读 · 0 评论 -
1013 将数组分成和相等的三份 C语言
给你一个整数数组 A,只有可以将其划分为三个和相等的非空部分时才返回 true,否则返回 false。 形式上,如果可以找出索引 i+1 < j 且满足 (A[0] + A[1] + … + A[i] == A[i+1] + A[i+2] + … + A[j-1] == A[j] + A[j-1] + … + A[A.length - 1])...原创 2020-03-11 14:37:01 · 482 阅读 · 0 评论 -
二叉树的直径 C语言
给定一棵二叉树,你需要计算它的直径长度。一棵二叉树的直径长度是任意两个结点路径长度中的最大值。这条路径可能穿过根结点。 示例 : 给定二叉树 1 / \ 2 3 / \ 4 5 返回 3, 它的长度是路径 [4,2,1,3] 或者 [5,2,1,3]。 注意:两结点之间的路径长度是以它们之间边的数目表示。 来源:力扣(Leet...原创 2020-03-10 13:52:04 · 383 阅读 · 0 评论 -
零钱兑换 动态规划 C语言
给定不同面额的硬币 coins 和一个总金额 amount。编写一个函数来计算可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回 -1。 示例 1: 输入: coins = [1, 2, 5], amount = 11 输出: 3 解释: 11 = 5 + 5 + 1 示例 2: 输入: coins = [2], amount = 3 输出: -1 来源:力扣(Le...原创 2020-03-08 15:25:16 · 937 阅读 · 0 评论 -
面试题57 - II. 和为s的连续正数序列 C语言 滑动窗口
今天又见到一个滑动窗口的题目 记得之前在哪里见过,看来这个算法一定要好好练练 输入一个正整数 target ,输出所有和为 target 的连续正整数序列(至少含有两个数)。 序列内的数字由小到大排列,不同序列按照首个数字从小到大排列。 示例 1: 输入:target = 9 输出:[[2,3,4],[4,5]] 示例 2: 输入:target = 15 输出:[[1,2,3,4,5],[4,5...原创 2020-03-06 16:54:00 · 179 阅读 · 0 评论 -
分糖果 C语言
排排坐,分糖果。 我们买了一些糖果 candies,打算把它们分给排好队的 n = num_people 个小朋友。 给第一个小朋友 1 颗糖果,第二个小朋友 2 颗,依此类推,直到给最后一个小朋友 n 颗糖果。 然后,我们再回到队伍的起点,给第一个小朋友 n + 1 颗糖果,第二个小朋友 n + 2 颗,依此类推,直到给最后一个小朋友 2 * n 颗糖果。 重复上述过程(每次都比上一次多给...原创 2020-03-05 14:51:06 · 1946 阅读 · 0 评论 -
腐烂的橘子 C语言
//首先需要队列的相关函数 typedef struct{ int (*index)[2]; int head; int tail; }queue; //队列基本元素 //队列的创建 queue * creat(int size) { queue* tar = (queue *)malloc(sizeof(queue)); tar->head = 0...原创 2020-03-04 17:38:44 · 241 阅读 · 0 评论 -
合并排序数组
给定两个排序后的数组 A 和 B,其中 A 的末端有足够的缓冲空间容纳 B。 编写一个方法,将 B 合并入 A 并排序。 示例: 输入: A = [1,2,3,0,0,0], m = 3 B = [2,5,6], n = 3 输出: [1,2,2,3,5,6] 初始化 A 和 B 的元素数量分别为 m 和 n。 来源:力扣(LeetCode) 链接:https://leetcode...原创 2020-03-03 14:47:43 · 283 阅读 · 0 评论