专栏 | 九章算法 网址 | http://www.jiuzhang.com 几乎每个身在职场的人都会有面对职业逆转的情况,但你要知道被炒鱿鱼并不就意味着你的职业生涯结束了。 那么,如果你不幸被炒鱿鱼了,该怎么应对呢? …
标签:算法
算法 - 插入排序和希尔排序
今天来讲一下算法中的插入排序。 数组的插入排序 链表的插入排序 希尔排序 一、最简单的插入排序 9->3->4->2->6->7->5->1 先将9视为有序,然后把它的后一个元素…
Sort 各类算法和时间复杂度分析
此文章目的:能够口述出算法how it works 时间复杂度一般考虑最坏情况。 Algorithm Time Complexity(Worst) Time Complexity(Average) Space compl…
【刷算法】LeetCode.155-最小栈
问题形貌 设想一个支撑 push,pop,top 操纵,并能在常数时间内检索到最小元素的栈。 push(x) -- 将元素 x 推入栈中。 pop() -- 删除栈顶的元素。 top() -- 猎取栈顶元素。 getMi…
浅谈网络爬虫中广度优先算法和代码实现
前几天给大家分享了网络爬虫中深度优先算法的介绍及其代码实现过程,没来得及上车的小伙伴们可以戳这篇文章——浅谈网络爬虫中深度优先算法和简单代码实现。今天小编给大家分享网络爬虫中广度优先算法的介绍及其代码实现过程。 广度优先…
看图轻松理解最小(大)堆
前言 推出一个新系列,《看图轻松理解数据结构和算法》,主要使用图片来描述常见的数据结构和算法,轻松阅读并理解掌握。本系列包括各种堆、各种队列、各种列表、各种树、各种图、各种排序等等几十篇的样子。 最小(大)堆 最小(大)…
如何用JavaScript手动实现一个栈
什么是栈(Stack) 栈是一种遵从后进先出(LIFO)原则的有序集合。 新添加的或待删除的元素都保存在栈的末尾,称为栈顶,另一端叫栈底。 在栈里,新元素都靠近栈顶,旧元素都接近栈底 现实中的例子 在生活中也能发现很多栈…
Leetcode - Ransom Note
My code: public class Solution { public boolean canConstruct(String ransomNote, String magazine) { if (ransomN…
iOS中的谓词(NSPredicate)使用
首先,我们需要知道何谓谓词,让我们看看官方的解释: The NSPredicate class is used to define logical conditions used to constrain a searc…
推荐一个由 AI 生成 LOGO 的网站
在创建项目时,有时需要根据一些文案,设计LOGO,既要美观大方,又要突出主题。 当然,朋友较多的人,去找做UI设计的朋友来帮忙,像我这样的“孤独患者”,就只能寻求AI的帮助了… 当当当当!本文推荐一个使用AI…
什么是大 O 表示法
“大O表示法”是一种特殊的表示法,指出了算法的速度有多快。但是它却不是指具体的时间,那么该如何正确理解它呢? 算法的运行时间以不同的速度增加 “算法的运行时间以不同的速度增加”这句话应该如何理解呢?下面我们通过…
Leetcode - Nested List Weight Sum II
My code: /** * // This is the interface that allows for creating nested lists. * // You should not implement i…