
算法
DoubleFJ
只有回不去的过去,没有到不了的未来。
展开
-
常用排序算法
在这里做个记录,将常用的三大排序算法列出来,方便查看复习,算法主要是理清思路,最近在刷leetcode发现自己脑子是有点笨的。 For Java. 冒泡排序 冒泡是我觉得最简单的一个排序算法了,也是我记的最早的一个排序算法。 冒泡,顾名思义,泡泡往上冒,也就是每次都将最大值放在末尾,剩余值继续冒泡。 其时间复杂度为O(n²)。详解:冒泡排序 参考代码: /** ...原创 2018-08-10 10:25:32 · 188 阅读 · 0 评论 -
动态规划之 0-1 背包问题详解
个人博客:DoubleFJ の Blog 前言 背包问题是比较经典的动态规划算法题,之前没接触过算法都没听说过这个,也是后来在 leetcode 中刷题时才了解到,惭愧惭愧啊。算法的世界太奇妙,数学一直都是那么令人着迷。今天来总结一下这个 01 背包问题。注:这里的物品不可拆分。 动态规划 首先了解下什么是动态规划。动态规划(dynamic programming)是运筹学的一个分支,是求解决...原创 2018-09-26 11:31:10 · 473 阅读 · 0 评论 -
二分搜索之搜索数组中目标元素的首尾下标
个人博客:DoubleFJ の Blog 今天总结一下二分搜索。假设这里的数组已经是升序排序好了的。 我们知道二分搜索的效率很高,它充分利用了元素间的次序关系,采用分治策略,可在最坏的情况下用 O(log n) 完成搜索任务。它的基本思想:将 n 个元素分成个数大致相同的两半,取 a[n/2] 与需要查找的目标值 x 作比较,如果 x=a[n/2] 则找到 x,算法运算终止。详情可跳转百度百科...原创 2018-10-15 17:16:12 · 327 阅读 · 0 评论 -
链表找环方法证明(拒绝误人子弟)
前言 今天又想起来了这个问题,之前最开始是在其他论坛中看到有人说起了这个面试题。 当时只是翻了下,大致了解了如何判断链表中是否有闭环,用两个快慢指针解决,但是没有了解如何去找到闭环开始的节点。 刚上网搜了下,一群垃圾博主乱七八糟胡说八道,就知道从其他地方复制粘贴,都不过脑子的。谁说较快指针一定就是第二次在环上移动就能遇到较慢指针的,我这么个渣渣都能一眼看出来毛病一群人还复制粘贴都说 2,你们还真是...原创 2018-10-23 09:49:40 · 2886 阅读 · 8 评论