删除链表中等于给定值val的所有节点。 您在真实的面试中是否遇到过这个题? Yes 样例 给出链表 1->2->3->3->4->5->3, 和 val = 3, 你需要返回删除3之后…
分类:算法
【刷算法】用两个栈实现队列
题目描述 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 分析 两个栈实现队列,那就是一个进一个出,且题中没说两个栈的长度限制,那么对于两个栈s1和s2来说,有两个注意的点: s1.…
etcd:从应用场景到实现原理的全方位解读
随着CoreOS和Kubernetes等项目在开源社区日益火热,它们项目中都用到的etcd组件作为一个高可用强一致性的服务发现存储仓库,渐渐为开发人员所关注。在云计算时代,如何让服务快速透明地接入到计算集群中,如何让共享…
堆的应用
1. 堆的应用一:优先级队列 优先级队列,顾名思义,它首先应该是一个队列。队列最大的特性就是先进先出,而在优先级队列中,数据的出队顺序则是按照优先级来,优先级高的先出队。 实现优先级队列的方法有很多,但是用堆来实现是最直…
《iOS面试之道》算法基础学习(上)
前言 道长和唐巧的面试之道,刚出来第一时间就入手了,也是趁着公司目前不是很忙,能好好静下心来细读这本书.笔者认为这本书的最大亮点就在第二章的算法基础,所以想通过笔记的形式来记录算法的学习过程,同时在忘记的时候也能第一时间…
NMT Tutorial 2扩展b. 优化方法
基本优化方法:梯度下降 如正文所提,梯度下降是一般机器学习中应用最多的优化算法,核心思想是让参数朝着梯度的反方向,也就是函数下降最快的方向移动。设定如下记号: :模型参数 :第 条数据 :模型 :第 条数据对应的标签 :…
教你6步从头写机器学习算法——以感知机算法为例
自己从头写一个算法,不仅能给你带来成就感,也能帮你真正理解算法的原理。可能你之前用 Scikit-learn 实现过算法,但是从零开始写个算法简单吗?绝对不简单。 有些算法要比其它算法复杂的多,所以在写算法时可以先从简单…
OJ lintcode 数组剔除元素后的乘积
给定一个整数数组A。 定义B[i] = A[0] * … * A[i-1] * A[i+1] * … * A[n-1], 计算B的时候请不要使用除法。 您在真实的面试中是否遇到过这个题? Yes …
被炒以后还能走多远,你知道吗?
专栏 | 九章算法 网址 | 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…