自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

原创 《剑指offer》10&18、旋转数组的最小值&重排数组

数组数组(Array)是有序的元素序列,组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量。用于区分数组的各个元素的数字编号称为下标。数组是在程序设计中,为了处理方便, 把具有相同类型的若干元素按有序的形式组织起来的一种形式。可以说,数组是最常见的数据结构了,也是出题时能玩出花来的一种类型。它和数学,排序息息相关,实际上我们在offer01-03中已经数次见到它们了。《剑指offer》01&02、数组中的重复数《剑指offer》03、二维数组的检索而offer10和18也

2020-09-30 14:32:00 130

原创 《剑指offer》09&13&14、数学类问题:斐波那契数列、二进制数中1的个数、数值的整数次方

数学类问题偶尔闲谈几句,数学类问题在各种面试中都会出现,不过一般出现形式都不会让你写代码。笔者某次面试银行的时候,就被问到一个数学问题,说有一个四位数的完全平方数aabb,问它是谁的平方。2分钟,无纸笔。笔者当场虽然发现了这个aabb的一些特征,但关键的步骤上,还是通过心算强行搞出来的。大家如果有兴致,可以想一想,这道题其实只需要小学生的计算能力就可以了。在《剑指offer》中,也有一些数学类问题。这次就把三个问题放在一起,它们披着数学的背景,本质上还是考察一定的计算机知识。斐波那契数列的第n项of

2020-09-29 11:00:12 256

原创 《剑指offer》08、用两个栈实现队列的push和pop

栈与队列offer08要求用两个栈实现队列的进与出的功能。这里涉及到两个概念:栈与队列。尽管栈还要分为堆栈链栈之类的结构,但是往简单里说,这两者的区别在于:栈是先进后出,队列是先进先出,栈相当于有一个封底。两个栈实现队列对于进队列功能,我们直接用进A栈来解决。对于出队列功能,我们可以将A栈的元素全部压进到B栈,然后再从B栈弹出元素即可。细节方面,如果B栈之前还有元素,要先全部弹出。class Solution: def __init__(self): self.stack

2020-09-28 10:24:55 170

原创 《剑指offer》06&07、二叉树的重构与下一个结点

二叉树基础关于二叉树的基础结构,请参考《剑指offer》预备知识-链表与二叉树今天我们以如下这棵二叉树作为例子。重构二叉树offer06的要求是,给出一棵二叉树的前序遍历和中序遍历,要求重构这棵二叉树,那我们就需要知道什么叫前序遍历和中序遍历(顺便说说后续遍历)。前序遍历对于每一个节点,按照根节点→左子节点→右子节点的方式遍历。在本树中,先考察根节点6,它有左节点3和右节点7对于左节点3,它作为根节点的话,有左节点1和右节点5对于左节点1,它作为根节点的话,有右节点2作为叶结点。所以有

2020-09-27 14:40:52 151

原创 《剑指offer》05&21、链表反向输出与反转

链表结构关于链表的结构请参考:《剑指offer》预备知识-链表与二叉树我会直接调用里面定义的这个链表的类(但不调用大部分的类方法,不然就是出猫了→_→)。链表反向输出offer05的要求是,给出和一个链表,要求反向输出。这里先给出一个[1,2,3,4,5]的链表from linklist import ListNode, LinkListl = LinkList()for i in range(1,6,1): l.append(i)node = l.head如果对数据结构有了

2020-09-25 14:01:34 129

原创 《剑指offer》04、用“%20“替换空格

替换空格题目要求输入一个字符串,然后用字符串"%20"替换原字符串中的空格,实际上就是用一个新的字符串new_string去替换原字符串中的某子字符串old_substring。之前写的时候用了个变量char来装字符串,容易引起歧义但是也不想改了→_→# Input a string name char...import syschar = input()if char == '': print("空字符串 or Null指针") sys.exit()replace魔法直接

2020-09-24 14:17:05 212

原创 《剑指offer》03、二维数组的检索

二维数组的检索题目要求是给出一个m*m的矩阵,里面的数满足从左往右,从上往下递增。要求检索目标是否在矩阵里。以下是我随便画的一个矩阵。# 输入一个行列都递增的二维数组,判断某个元素是否在内m = int(input())grid = [[] for i in range(m)]for i in range(m): line = input().split(' ') for j in range(len(line)): grid[i].append(int(line

2020-09-23 15:40:38 142

原创 《剑指offer》01&02、数组中的重复数

数组中的重复数题目要求是输入一个长度为n的数组,含有1至n-1的整数,找出其中的重复数,如果对python熟悉的话,首先就会想到一个重要的函数sorted:sorted(data, cmp=None, key=None, reverse=False) 其中,data是待排序数据,可以使List或者iterator, cmp和key都是函数,这两个函数作用与data的元素上产生一个结果,sorted方法根据这个结果来排序。cmp(e1, e2) 是带两个参数的比较函数, 返回值: 负数: e1 &l

2020-09-22 10:44:20 106

原创 《剑指offer》预备知识-链表与二叉树

前言最近在重温之前写过的剑指offer的代码,不得不说现在无论是社招还是校招,从搞java的到搞python的,都会被问点数据结构和算法类的题目。个人认为《剑指offer》编得相当不错,如果真的能扎扎实实搞懂里面的题目的话,应付中小厂的面试基本不会有什么问题。不过落落本身是搞数据和模型的,对数据结构和计算机类知识底子较薄,所以写出来的玩意只能拿来讨论参考。在这一系列的笔记正式开始之前,先写一篇预备的知识。《剑指offer》涉及若干和链表与二叉树相关的题目,在这里我们先给出链表与树的定义,方便以后的解题。

2020-09-21 15:28:29 200

原创 GEM(Generalized Expectation Maximizatio)算法简介

前言之前我写过一篇EM算法的笔记:EM算法(Expectation-maximization algorithm)小结从中我们可以看到,EM算法的本质就是E-step和M-step的重复迭代:E-step:Q(ϕ∣ϕi)=E(log⁡(f(x∣ϕ))∣y,ϕi)Q\left(\phi \mid \phi^{i}\right)=E\left(\log (f(x \mid \phi)) \mid y, \phi^{i}\right)Q(ϕ∣ϕi)=E(log(f(x∣ϕ))∣y,ϕi)M-step:

2020-09-20 08:42:16 3142

原创 天作之合:水果与朗姆酒

曾登上至高之天,也曾踏破至深之渊,苍穹为被,大地为家,左手鲁特琴,右手金凤花,大家好,我是好酒的吟游诗人落落。上次给大家好好地介绍了一下Zombie鸡尾酒。实际上,水果和朗姆可以玩很多花样出来,不仅限于Zombie这种烈酒,还有很多简单的特饮。没看到我对Zombie鸡尾酒的介绍的话,可以看下面的链接。感受夏威夷风的威力吧——Zombie鸡尾酒说到水果风朗姆,落落想大家应该都有一个简单的疑惑:为什么只有水果风朗姆,没有水果风龙舌兰,水果风伏特加,水果风金酒呢……其实都有,比如龙舌兰日出就是水果风的龙舌兰。

2020-09-19 16:55:30 1826

原创 EM算法(Expectation-maximization algorithm)小结

EM算法(Expectation-Maximization algorithm)是一类通过迭代进行极大似然估计的优化算法,今天翻出了之前的笔记,在这里也放一下吧。EM算法背景EM(expectation-maximization)算法是Dempster,Laird和Rubin(DLR)三个人在1977年正式提出的.主要是用于在不完全数据的情况下计算最大似然估计.在EM算法正式提出以来,人们对EM算法的性质有更加深入的研究.并且在此基础上,提出了很多改进的算法.在数理统计,数据挖掘,机器学习以及模式识别等

2020-09-13 10:55:39 805

原创 走一个青瓜风——青瓜鸡尾酒

曾登上至高之天,也曾踏破至深之渊,苍穹为被,大地为家,左手鲁特琴,右手金凤花,大家好,我是好酒的吟游诗人落落。夏日炎炎,是时候介绍一下夏日绝配青瓜味鸡尾酒了。首先,作为一个活跃在大陆以南地方的吟游诗人,落落相对更能分得清“黄瓜”和“青瓜”的区别。有很多人会觉得,黄瓜=青瓜,其实不全然是。黄瓜比较大,偏短,成熟之后会有瓜瓤,表面偏滑,表面呈黄色,所以叫黄瓜。青瓜比较长,直径比黄瓜小,比黄瓜脆,表面会有磕磕点点,不平滑,一直都是青色,所以叫青瓜。黄瓜会用来做腌菜,而青瓜一般是用做炒菜。所以第一步,大家一定要认

2020-09-12 16:55:08 696

原创 R的绘图(一)——绘图plot()基础

说来我自己的本科设计就是做可视化相关的工作,虽然看上去很高大上,实际上只是ggplot2包的一个大型说明书而已(苦笑),接下来的若干篇笔记会从头开始整理R中绘图相关的内容,从最简单的图形基础到普通的图形,高级的图形,直到最后的ggplot2拓展包。在我看来,可视化工作是整个统计工作中最重要的一部分,好看的图片往往可以糊弄不少外行人,甚至ggplot2也不是绘图的终点,我们还可以用Adobe公司提供的软件进行后期制作,这些在不在笔记里提及了。本篇笔记的任务是:整理最基本的图形参数和图形制作方法。绘图本篇

2020-09-11 20:14:50 1957

原创 感受夏威夷风的威力吧——Zombie鸡尾酒

曾登上至高之天,也曾踏破至深之渊,苍穹为被,大地为家,左手鲁特琴,右手金凤花,大家好,我是好酒的吟游诗人落落。今天要向大家介绍的,是一款较烈的鸡尾酒——Zombie僵尸,及其后面的Tiki类鸡尾酒。要说Zombie就得先说说Tiki杯,这种杯子长得千奇百怪,比如下面这些:其实大家就能看出和某个东西很像了,bingo,就是复活节岛石像。 6000年前,南岛民族的共同祖先离开亚洲大陆,踏入广袤浩瀚而充满未知的大海,挑战了世代居住在大陆的命运,造就了一个的崭新民族——波利尼西亚。波利尼西亚人利用独木舟,将自

2020-09-06 09:13:48 972

原创 R的数据操作基础(三)——整合、重铸、控制流

在上一篇笔记中我们还遗留了几个问题:1、我们有时还需要更为精确地处理数据集中的数据,这时候涉及数据的整合和重铸;2、有些时候除了整合重铸,我们还需要利用控制流来自编函数。这一篇笔记就处理这两个问题。整合重铸R中有很多整合数据的方法,最简单的比如用t()对数据框进行转置。稍微复杂的是使用aggreate函数:aggreate(data,by,FUN)x是数据集,by是变量,FUN是函数,比如我们对mtcars数据集进行这样的操作,FUN使用均值函数mean。attach(mtcars)agg &

2020-09-04 22:22:39 339

原创 R的数据操作基础(二)——函数处理

对数据集的处理远不止上一篇提到的子集,重编码等操作,有些时候数据集本身是有缺陷的,有些时候我们不能直接由数据集得到我们想要的东西。这一篇中我们使用下面的字符和数值型的数据集。我们希望对这些学生的成绩进行一个综合评定,并评出A,B,C这样的等级。在姓名上,我们希望按照字母排序。但是一方面,姓名的字段只有一个,需要拆分;更麻烦的是,三门科目的成绩显然不能直接比较,方差平均值都是没有意义的。所以我们需要另辟蹊径。在接下来的内容中,我们先介绍R中自带的数值、字符型处理函数,然后用这些函数对这个数据集进行处理。处

2020-09-03 22:39:58 473

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除