Leetcode
文章平均质量分 91
极客不撩妹
有个无大不大的圈子缚着你,明白它是什么,便可乘雷上天,恣意变化,若不明白,练一辈子,也难以技进乎道,总在圈子里转悠。
展开
-
面试必备的排序算法小结
写在前面排序算法很容易被忽视,因为sort的存在,排序算法不管是在面试还是竞赛,都是很关键的算法,所以今天整理一下。冒泡排序重复地走访过要排序的数列, 一次比较两个元素, 如果他们的顺序错误就把他们交换过来。 走访数列的工作是重复地进行直到没有再需要交换, 也就是说该数列已经排序完成。void bubble_sort(int arry[], int left, int right) { ...原创 2020-04-27 10:21:32 · 200 阅读 · 0 评论 -
谈一谈那些非正常排序题目
写在前面在leetcode上面刷到几道很有意思的排序题,和传统的排序题不一样,很有意思。75. 颜色分类给定一个包含红色、白色和蓝色,一共 n 个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。此题中,我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。注意:不能使用代码库中的排序函数来解决这道题。示例:输入: [2,0,2,1,...原创 2020-04-19 22:48:16 · 227 阅读 · 0 评论 -
LeetCode-打卡题(4.15)01矩阵
写在前面第一次特别写一下leetcode的打卡题,因为今天的打卡题还挺不错的,练习了bfs和简单的dp。542. 01 矩阵给定一个由 0 和 1 组成的矩阵,找出每个元素到最近的 0 的距离。两个相邻元素间的距离为 1 。示例 1:输入:0 0 00 1 00 0 0输出:0 0 00 1 00 0 0注意:给定矩阵的元素个数不超过 10000。给定矩阵...原创 2020-04-15 10:38:50 · 216 阅读 · 0 评论 -
Leetcode 周赛184 题解
写在前面第二次ak,不容易,虽然还是相对较水的一次。5380. 数组中的字符串匹配给你一个字符串数组 words ,数组中的每个字符串都可以看作是一个单词。请你按 任意 顺序返回 words 中是其他单词的子字符串的所有单词。如果你可以删除 words[j] 最左侧和/或最右侧的若干字符得到 word[i] ,那么字符串 words[i] 就是 words[j] 的一个子字符串...原创 2020-04-12 16:36:30 · 250 阅读 · 0 评论 -
栈:还有什么是我模拟不了的?
写在前面最近刷阿里的题库,看到了一道用栈实现最小堆的题目,然后就找到了一系列栈模拟其他数据结构的题目,这里整理一下。这些题目对熟悉这些基本的数据结构帮助很大。232. 用栈实现队列使用栈实现队列的下列操作:push(x) – 将一个元素放入队列的尾部。pop() – 从队列首部移除元素。peek() – 返回队列首部的元素。empty() – 返回队列是否为空。示例:MyQ...原创 2020-04-10 17:10:55 · 169 阅读 · 0 评论 -
LeetCode-Contest记录(双周赛23)
写在前面昨晚的双周赛有丶水,我居然全做出来了,总结一下昨天的题目,应该就是这个表情:双周赛 235360. 统计最大组的数目给你一个整数 n 。请你先求出从 1 到 n 的每个整数 10 进制表示下的数位和(每一位上的数字相加),然后把数位和相等的数字放到同一个组中。请你统计每个组中的数字数目,并返回数字数目并列最多的组有多少个。示例 1:输入:n = 13输出:4解释:...原创 2020-04-05 09:40:31 · 224 阅读 · 0 评论 -
LeetCode-contest记录(单周赛182)
写在前面周末leetcode比赛做题整理。周赛 1815368. 找出数组中的幸运数在整数数组中,如果一个整数的出现频次和它的数值大小相等,我们就称这个整数为「幸运数」。给你一个整数数组 arr,请你从中找出并返回一个幸运数。如果数组中存在多个幸运数,只需返回 最大 的那个。如果数组中不含幸运数,则返回 -1 。示例 1:输入:arr = [2,2,3,4]输出:2解释...原创 2020-03-29 21:46:44 · 590 阅读 · 0 评论 -
全网最详细的排列组合系列算法题整理
写在前面LeetCode上面排列组合系列几乎所有题目放在一起整理了一下。面试题 08.07. 无重复字符串的排列组合无重复字符串的排列组合。编写一种方法,计算某字符串的所有排列组合,字符串每个字符均不相同。示例:输入:S = “qwe”输出:[“qwe”, “qew”, “wqe”, “weq”, “ewq”, “eqw”]提示:字符都是英文字母。字符串长度在[1, ...原创 2020-03-27 21:58:48 · 3206 阅读 · 0 评论 -
LeetCode-打卡题引申出来的dp练习
写在前面今天的LC打卡虽然是easy,但是用到了dp的思路来解,对于dp思维的练习我觉得很有帮助,再加上很多大佬在题解里面列了不少类似的题目,所以就一并写了并且整理一下。(打家劫舍系列+丑数系列)面试题 17.16. 按摩师一个有名的按摩师会收到源源不断的预约请求,每个预约都可以选择接或不接。在每次预约服务之间要有休息时间,因此她不能接受相邻的预约。给定一个预约请求序列,替按摩师找到最优的...原创 2020-03-25 22:11:13 · 410 阅读 · 0 评论 -
需要耐心的中等难度题-华为面试题库刷题整理(四)
写在前面华为面试题库刷题第四次整理。1245. 树的直径给你这棵「无向树」,请你测算并返回它的「直径」:这棵树上最长简单路径的 边数。我们用一个由所有「边」组成的数组 edges 来表示一棵无向树,其中 edges[i] = [u, v] 表示节点 u 和 v 之间的双向边。树上的节点都已经用 {0, 1, …, edges.length} 中的数做了标记,每个节点上的标记都是独一无二...原创 2020-03-21 12:13:58 · 1775 阅读 · 0 评论 -
细节决定成败!华为面试题库刷题整理(三)
写在前面华为面试题库刷题第三次整理。203. 移除链表元素删除链表中等于给定值 val 的所有节点。示例:输入: 1->2->6->3->4->5->6, val = 6输出: 1->2->3->4->5解法:题目不难,重点是用多钟解法来解题。递归从尾部开始删除就不需要特别记录前一个节点,利用递归在这一点上就很讨巧。...原创 2020-03-18 13:28:28 · 3632 阅读 · 0 评论 -
不要小看简单题-华为面试题库简单题一题多解整理
写在前面华为面试题库刷题第二次整理,这次整理的都是简单题的多解法,大部分都是用了巧妙方法使空间复杂度位O(1),简单题也有它的魅力和价值。个人博客的链接:flamsteed136. 只出现一次的数字给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?解法:要求时...原创 2020-03-17 15:13:01 · 2563 阅读 · 4 评论 -
LeetCode-contest记录(单周赛180)
写在前面周末leetcode比赛做题整理。个人博客同步网址:flamsteed周赛 1805356. 矩阵中的幸运数给你一个 m * n 的矩阵,矩阵中的数字 各不相同 。请你按 任意 顺序返回矩阵中的所有幸运数。幸运数是指矩阵中满足同时下列两个条件的元素: 在同一行的所有元素中最小 在同一列的所有元素中最大解法:比赛的时候没想太多,数据范围很小,找到每行最小的数,判断它...原创 2020-03-16 16:01:36 · 179 阅读 · 0 评论 -
LeetCode-华为面试题库做题笔记一
写在前面华为面试题库刷题第一天题目整理欢迎访问我的个人博客网站:flamsteed32. 最长有效括号给定一个只包含 ‘(’ 和 ‘)’ 的字符串,找出最长的包含有效括号的子串的长度。一共有三种时间复杂度O(N)的解法,分别是dp,栈,和计数,我们都实现一下:dpdp思路:dp一位数组存放到目前这一位字符的有效子串长度,所以所有’(‘对应的位置都是0,而’)'分两种情况:s...原创 2020-03-14 12:56:31 · 5980 阅读 · 0 评论 -
LeetCode-contest记录(双周赛21&单周赛179)
写在前面周末两天leetcode比赛做题整理。欢迎大家访问我的个人博客网站:flamsteed双周赛215336. 上升下降字符串给你一个字符串 s ,请你根据下面的算法重新构造字符串:从 s 中选出 最小 的字符,将它 接在 结果字符串的后面。从 s 剩余字符中选出 最小 的字符,且该字符比上一个添加的字符大,将它 接在 结果字符串后面。重复步骤 2 ,直到你没法从 s 中选择...原创 2020-03-14 09:58:11 · 319 阅读 · 0 评论