God_Leek
码龄11年
关注
提问 私信
  • 博客:172,452
    动态:18
    172,470
    总访问量
  • 103
    原创
  • 1,521,294
    排名
  • 21
    粉丝
  • 0
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:北京市
  • 加入CSDN时间: 2014-05-19
博客简介:

HakunaMatata的博客

查看详细资料
个人成就
  • 获得89次点赞
  • 内容获得69次评论
  • 获得254次收藏
创作历程
  • 103篇
    2019年
成就勋章
TA的专栏
  • Linux系统环境搭建
  • LeetCode刷题之路
    28篇
  • Effective C++学习之路
    28篇
  • 剑指offer刷题之路
    23篇
  • Office高手之路
  • Python学习之路
  • C++ Primer学习之路
    12篇
  • 算法研讨之路
    14篇
  • 各种BUG解决之路
    1篇
  • MySQL学习之路
    2篇
创作活动更多

如何做好一份技术文档?

无论你是技术大神还是初涉此领域的新手,都欢迎分享你的宝贵经验、独到见解与创新方法,为技术传播之路点亮明灯!

342人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

面试中LeetCode常见算法整理——动态规划

面试中LeetCode常见算法整理——动态规划1.斐波那契数列(1)爬楼梯70.Climbing Stairs定义一个数组 dp 存储上楼梯的方法数(为了方便讨论,数组下标从 1 开始),dp[i] 表示走到第 i 个楼梯的方法数目。第 i 个楼梯可以从第 i-1 和 i-2 个楼梯再走一步到达,走到第 i 个楼梯的方法数为走到第 i-1 和第 i-2 个楼梯的方法数之和。...
原创
发布博客 2019.10.10 ·
433 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

面试中LeetCode常见算法整理——贪心

面试中LeetCode常见算法整理——贪心贪心思想:保证每次操作都是局部最优的,并且最后得到的结果是全局最优的。1. 分配饼干455.Assign Cookies给一个孩子的饼干应当尽量小又能满足该孩子,这样大饼干就能拿来给满足度比较大的孩子。因为最小的孩子最容易得到满足,所以先满足最小的孩子。class Solution {public: int findConte...
原创
发布博客 2019.10.10 ·
536 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

面试中LeetCode常见算法整理——排序

面试中LeetCode常见算法整理——排序快速排序用于求解 Kth Element 问题,使用快速排序的 partition() 进行实现。需要先打乱数组,否则最坏情况下时间复杂度为 O(N2)。堆排序用于求解 TopK Elements 问题,通过维护一个大小为 K 的堆,堆中的元素就是 TopK Elements。堆排序也可以用于求解 Kth Element 问题,堆顶元素就...
原创
发布博客 2019.10.09 ·
293 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

面试中LeetCode常见算法整理——双指针

面试中LeetCode常见算法整理——双指针1. 有序数组的Two Sum167.Two Sum II - Input array is sortedclass Solution {public: vector<int> twoSum(vector<int>& numbers, int target) { int l = 0, r = num...
原创
发布博客 2019.10.09 ·
251 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

从含有n个整数的无序数组中找到每个元素后面比它大的第一个数

复习时候看到的一道题,总结了总结。题目描述从含有n个整数的无序数组中找到每个元素后面比它大的第一个数,要求时间复杂度为O(N)。解题思路如果没有时间复杂度要求的话,可以使用二重遍历进行暴力解决。然而参考了各种大牛的博客,将自己的思路总结如下。我们借助了辅助栈的方式进行解决。对于当前遍历的第i个元素有:1. 栈为空,则当前索引i入栈;2.栈不为空,如果栈顶索引元素大于...
原创
发布博客 2019.10.07 ·
1231 阅读 ·
0 点赞 ·
1 评论 ·
6 收藏

面试中LeetCode常见算法整理——链表

面试中LeetCode常见算法整理——链表1. 找出两个链表的交点160.Intersection of Two Linked Lists设链表A的长度为 a + c,B的长度为 b + c,其中 c 为尾部公共部分长度,可知 a + c + b = b + c + a。当访问 A 链表的指针访问到链表尾部时,令它从链表 B 的头部开始访问链表 B;同样地,当访问 B 链表的指针...
原创
发布博客 2019.10.03 ·
326 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

面试中常见的算法整理——树

一、递归1. 树的高度104.Maximum Depth of Binary Treeclass Solution {public: int maxDepth(TreeNode* root) { if (!root) return 0; return 1 + max(maxDepth(root->left), maxDepth(root->right)...
原创
发布博客 2019.10.02 ·
455 阅读 ·
0 点赞 ·
0 评论 ·
5 收藏

LeetCode 367: Valid Perfect Square

LeetCode 367: Valid Perfect Square题目描述给定正整数num,编写一个函数,如果num是一个完美的平方,则返回True,否则返回False。注意:请勿使用任何内置库函数,例如sqrt。解题思路平方序列:1,4,9,16,..间隔:3,5,7,...间隔为等差数列,使用这个特性可以得到从 1 开始的平方序列。AC代码class So...
原创
发布博客 2019.10.02 ·
154 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

LeetCode 238: Product of Array Except Self

LeetCode 238: Product of Array Except Self题目描述给定一个数组 A[0, 1,..., n-1],请构建一个数组 B[0, 1,..., n-1],其中 B 中的元素 B[i]=A[0]*A[1]*...*A[i-1]*A[i+1]*...*A[n-1]。要求不能使用除法。解题思路在O(N)时间复杂度下,分别进行自左向右、自右向左两次累乘即...
原创
发布博客 2019.10.02 ·
133 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

LeetCode 628: Maximum Product of Three Numbers

LeetCode 628: Maximum Product of Three Numbers题目描述给定一个整数数组,找到三个乘积最大的数字并输出最大乘积。解题思路不管数组中数的正负,三个乘积最大的数要么为三个最大的整数,要么两个最小的负数和最大的正数,所以题目的关键在于找出这三个数,最简单的思路就是排序了,不过这样时间复杂度就是O(NlogN)。有其他的更小的时间复杂度算法,我懒...
原创
发布博客 2019.10.02 ·
115 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

LeetCode 169: Majority Element

LeetCode 169: Majority Element题目描述给定大小为n的数组,找到多数元素。大多数元素是出现的元素不止 ⌊ n/2 ⌋倍。您可以假定数组为非空,并且多数元素始终存在于数组中。范例1:输入: [3,2,3]输出: 3范例2:输入: [2,2,1,1,1,2,2]输出: 2解题思路先对数组排序,最中间那个数出现次数一定多于 n / 2。AC...
原创
发布博客 2019.10.01 ·
117 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

LeetCode 462: Minimum Moves to Equal Array Elements II

LeetCode 462: Minimum Moves to Equal Array Elements II题目描述给定一个非空的整数数组,找到使所有数组元素相等所需的最小移动数,其中移动是将选定元素增加1或将选定元素减少1。例:输入:[1,2,3]输出:2说明:仅需要两个动作(记住每个动作递增或递减一个元素):[1,2,3] => [2,2,3] => [2,2...
原创
发布博客 2019.10.01 ·
143 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

LeetCode 172: Factorial Trailing Zeroes

LeetCode 172: Factorial Trailing Zeroes题目描述给定一个整数n,统计其阶乘尾部0的个数解题思路阶乘尾部的 0 由 2 * 5 得来,2 的数量明显多于 5 的数量,因此只要统计有多少个 5 即可。对于一个数 N,它所包含 5 的个数为:N/5 + N/5^2 + N/5^3 + ...,其中 N/5 表示不大于 N 的数中 5 的倍数贡献一个...
原创
发布博客 2019.10.01 ·
131 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

LeetCode 168: Excel Sheet Column Title

LeetCode 168: Excel Sheet Column Title题目描述给定一个正整数,返回其相应的列标题,如Excel工作表中所示。例如:1->A2->B3->C...26->Z27->AA28->AB...701->ZY...解题思路这道题相当于将10进制转化为二进制,不过因为是从1开始计算的,而...
原创
发布博客 2019.10.01 ·
126 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

LeetCode 405: Convert a Number to Hexadecimal

LeetCode 405: Convert a Number to Hexadecimal题目描述给定一个整数,编写一个算法将其转换为十六进制。对于负整数,使用二进制补码表示方法。注意:十六进制(a-f)中的所有字母都必须小写。 十六进制字符串不得包含额外的前导0串。如果数字为零,则用单个零字符表示'0';否则,十六进制字符串中的第一个字符将不是零字符。 保证给定的数字适...
原创
发布博客 2019.10.01 ·
148 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

LeetCode 504: Base 7

LeetCode 504: Base 7题目描述给定一个整数,返回它的七进制表示的字符串。解题思路10进制转n进制最基本的转换思路:通过不断对n取余、取模即可,注意给定整数的正负。AC代码class Solution {public: string convertToBase7(int num) { if (num == 0) return "0"; i...
原创
发布博客 2019.10.01 ·
156 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

面试中常见的算法整理——数学

目录计算素数最大公约数和最小公倍数最大公约数最小公倍数进制转换十进制转七进制十进制转十六进制二十六进制统计阶乘尾部有多少个 0相遇问题改变数组元素使所有的数组元素都相等多数投票问题数组中出现次数多于 n / 2 的元素找出数组中的乘积最大的三个数构建乘积数组判断一个数是否是完全平方数计算素数LeetCode 204: C...
原创
发布博客 2019.10.01 ·
328 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

LeetCode 204: Count Primes

LeetCode 204: Count Primes题目描述给定一个非负整数,计算小于该整数的所有素数(最小的素数为2)。解题思路该题的解法有一个特定的名字:埃拉托斯特尼筛法,下面简单说一下,具体可以参阅网上的资料。判断一个数x是否是合数,只要依次除以2至sqrt(x)间的素数,判断是否整除即可。埃拉托斯特尼筛法基于以下原理,给定一个素数n>1,kn是一个合数(k&g...
原创
发布博客 2019.10.01 ·
113 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多