自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 资源 (1)
  • 收藏
  • 关注

原创 根据书单来制作item2vec

数据和工具1.glove:http://nlp.stanford.edu/projects/glove/2.书单数据:待审核代码# -*- coding: utf-8 -*-from __future__ import absolute_importfrom __future__ import divisionfrom __future__ import print_functionfrom __future__ import unicode_literalsimport ..

2020-05-31 10:26:38 222

原创 利用小说制作词云

利用来wordcloud制作小说的词云背景图效果图代码1. 停用词太多,需要过滤掉。2.设置词数,避免太多# coding: utf-8 from wordcloud import WordCloudfrom PIL import Imageimport jiebaimport numpy as np with open('tmp.txt','r',encoding='utf8') as f: text = f.read() cut_..

2020-05-31 10:19:14 722

原创 【剑指Offer】16.合并两个排序的链表

题目描述输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。解题思路最经常犯的错误:写代码之前没有对合并的过程想清楚,最终合并出来的链表要么中间断开了,要么没有做到递增排序 代码在鲁棒性方面存在问题,程序一旦有特殊的输入(如空链表)就会崩溃一个递归的过程,不断比对两个链表的头结点当一个链表是空链表,也就是它的头结点是一个空指针,那么把它和第二个链表合并,合并的结果就是第二个链表同理,第二个链表是头结点是空指针,其实就是第一个链表测试用例

2020-05-31 09:56:05 137

原创 【剑指Offer】15.反转链表

题目描述输入一个链表,反转链表后,输出新链表的表头。解题思路通过循环,将链表反转代码# -*- coding:utf-8 -*-# class ListNode:# def __init__(self, x):# self.val = x# self.next = Noneclass Solution: # 返回ListNode def ReverseList(self, pHead): # writ

2020-05-30 23:36:01 117

原创 【剑指Offer】14.链表的倒数第k个节点

题目描述输入一个链表,输出该链表中倒数第k个结点。解题思路两个指针,先让第一个指针和第二个指针都指向头结点,然后再让第一个指针走(k-1)步,到达第k个节点。然后两个指针同时往后移动,当第一个结点到达末尾的时候,第二个结点所在位置就是倒数第k个节点了。。为了能够只遍历一次就能找到倒数第k个节点,可以定义两个指针:  (1)第一个指针从链表的头指针开始遍历向前走k-1,第二个指针保持不动;  (2)从第k步开始,第二个指针也开始从链表的头指针开始遍历;  (3)由于两个指针的距离保

2020-05-30 10:16:50 75

原创 【剑指Offer】13.调整数组的顺序使奇数放在偶数的前面

题目描述输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。解题思路最简单的方法:从头扫描这个数组,每碰到一个偶数时,拿出这个数字,并把位于这个数字后面的所有数字往前挪动一位。挪完之后在数组的末尾有一个空位,这时把该偶数放入这个空位。由于每碰到一个偶数就需要移动O(n)个数字,因此总的时间复杂度是O(n^2)。这种方法不能让面试官满意。高效的方法:维护两个指针,第一个指针初始化

2020-05-29 22:45:54 131

原创 【Pyspark】Pyspark的常见命令

常见命令初始化会话 添加本地文件 读取表 过滤数据 看数量 提交到yarnfrom pyspark.sql import SparkSessionfrom pyspark.sql import functions as F# 初始会话spark = SparkSession.builder.appName("test").enableHiveSupport().master("yarn").getOrCreate()sc = spark.sparkContext# 添加Pytho

2020-05-28 23:23:35 669

原创 【剑指Offer】12.数值的整数次方

题目描述给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。解题思路这道题考察的看起来很简单的题目,但是需要考虑异常的情况,例如exponent为负数或者base为0代码# -*- coding:utf-8 -*-class Solution: def Power(self, base, exponent): # write code here flag = False

2020-05-28 23:18:00 76

原创 xgboost预测报错: Check failed: offset.back() == value.size()

报错信息1.xgboost.core.XGBoostError: b'[15:53:47] /workspace/dmlc-core/src/data/./row_block.h:177: Check failed: offset.back() == value.size()解决方法需要将特征名转换为索引号:gender——>1,age——>22.expected f532, f535, f534, f533, f536 in input data解决方法..

2020-05-27 23:49:15 1019

原创 【剑指Offer】11.二进制中1的个数

题目描述输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。解题思路先减一然后按位取反,此为一个字节,9转换为二进制就是00001001,减一00001000,按位取反11110111。左移一位,然后与1取与,如果是1&1=1,0&1=0,32位最多,然后求个和代码# -*- coding:utf-8 -*-class Solution: def NumberOf1(self, n): # write code he

2020-05-27 23:45:00 86

原创 【剑指Offer】10.矩形覆盖

题目描述我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?解题思路逆向分析,因为可以横着放或竖着放,所以f(n)可以是2*(n-1)的矩形加一个竖着放的2*1的矩形或2*(n-2)的矩形加2横着放的,即f(n)=f(n-1)+f(n-2)。当到了最后,f(1)=1,f(2)=2代码# -*- coding:utf-8 -*-class Solution: def rectCover(self,

2020-05-26 23:20:58 131

原创 【剑指Offer】9.变态跳台阶

题目描述一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。解题思路假设f(n)是n个台阶跳的次数。f(1) = 1f(2) 会有两个跳得方式,一次1阶或者2阶,这回归到了问题f(1),f(2) = f(2-1) + f(2-2)f(3) 会有三种跳得方式,1阶、2阶、3阶,那么就是第一次跳出1阶后面剩下:f(3-1);第一次跳出2阶,剩下f(3-2);第一次3阶,那么剩下f(3-3).因此结论是f(3) = f(3-1)

2020-05-25 22:28:31 78

原创 【剑指Offer】8.跳台阶

题目描述一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。解题思路对于本题,前提只有 一次 1阶或者2阶的跳法。当n>2时,第一次条的时候就有两种不同的选择:a.如果两种跳法,1阶或者2阶,那么假定第一次跳的是一阶,那么剩下的是n-1个台阶,跳法是f(n-1);b.假定第一次跳的是2阶,那么剩下的是n-2个台阶,跳法是f(n-2)c.由a\b假设可以得出总跳法为: f(n) = f(n-1) + f(n-2)d.然后通过实际的

2020-05-25 08:41:09 85

原创 【推荐系统】Bandit算法原理

问题如果不断有的新的产品需要上线,该如何让新产品得到曝光,并且自适应的降低转化率差产品的曝光数?问题的本质这个问题的本质是如何对新产品做冷启动。bandit算法来源于历史悠久的赌博学,它要解决的问题是这样的:一个赌徒,要去摇老虎机,走进赌场一看,一排老虎机,外表一模一样,但是每个老虎机吐钱的概率可不一样,他不知道每个老虎机吐钱的概率分布是什么,那么每次该选择哪个老虎机可以做到最大化收益呢?这就是多臂赌博机问题(Multi-armed bandit problem, K-armed bandi

2020-05-23 22:11:57 397

原创 【剑指Offer】7.斐波那契数列

题目描述大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项。n<=39解题思路通过分析,知道斐波那契第一个是0,第二个是1,第三个是0+1=1,f(n) = f(n-1) + f(n-2)实现,如果用递归,代码简单但是计算量大,很多结点都重复计算。改进方法:递归代码之所以慢的原因是重复的计算太多,想办法避免重复计算,把已经得到的数列中间项保存起来。最简单的是从下往上计算,根据f(0)和f(1)计算出f(2),根据f(1)和f(2)计算出f(3)

2020-05-23 19:45:57 133

原创 【剑指Offer】6.旋转数组的最小数字

题目描述把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。解题思路暴力法:从头到尾遍历数组一次,找出最小的元素。时间复杂度是O(n),这个思路没有利用输入的旋转数组的特性。二分查找法:旋转之后的数组实际上可以划分为两个排序的子数组,而且前面的子数组的元素都大于或者

2020-05-23 00:32:42 112

原创 【剑指Offer】5.用两个栈来实现队列

题目描述用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。解题思路用两个数组来存储代码# -*- coding:utf-8 -*-class Solution: def __init__(self): self.stack1 = [] self.stack2 = [] def push(self, node): # write code here self.stack

2020-05-21 23:31:56 97

原创 【剑指Offer】4.重建二叉树

题目描述输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。解题思路一个二叉树的前序遍历是:根节点、左节点、右节点。中序遍历是左节点、根节点、右节点。根据前序遍历的第一个节点,来分割中序遍历为左右节点。代码# -*- coding:utf-8 -*-# class TreeNode:# d

2020-05-20 22:17:17 102

原创 【剑指Offer】3.从头到尾打印链表

题目描述输入一个链表,按链表值从尾到头的顺序返回一个ArrayList。解题思路使用两个数组,先从正向进行遍历,然后反向取值代码# -*- coding:utf-8 -*-# class ListNode:# def __init__(self, x):# self.val = x# self.next = Noneclass Solution: # 返回从尾部到头部的列表值序列,例如[1,2,3] def print

2020-05-19 23:07:58 301

原创 【剑指Offer】2.替换空格

题目描述请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。解题思路内容代码# -*- coding:utf-8 -*-class Solution: # s 源字符串 def replaceSpace(self, s): # write code here spaceNum = 0 for i in s:

2020-05-18 23:34:26 81

原创 【剑指Offer】1.二维数组中的查找

工作一段时间后,发现数据结构和算法不像框架一样对开发效率提高那么明显,但是这属于内功层面,不像框架那么变换那么块。因此,重新捡起《剑指offer》系列来锻炼编程的敏感性。题目描述链接:https://www.nowcoder.com/practice/abc3fe2ce8e146608e868a70efebf62e?tpId=13&tqId=11154&tPage=1&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-i

2020-05-17 19:40:26 99

原创 【Pyspark】如何读取和存储hive表

读取hive表# sql版本data = spark.sql("select * from hive_database.hvie_table")# table版本data = spark.table("hive_database.hvie_table")存储为hive表# 临时表data.registerTempTable("data_tmp")# 创建方式spark.sql("create table hive_database.hvie_table as select * f

2020-05-17 19:12:40 2363

1-6年级好习惯培养时间表

1-6年级好习惯培养时间表

2024-04-12

600多个人工智能AI工具汇总

600多个人工智能AI工具汇总 图像,视频,文本生成

2024-04-10

大数据架构:大数据技术架构的思想和原理是什么

大数据架构:大数据技术架构的思想和原理是什么 大数据技术其实是分布式技术在数据处理领域的创新性应用,本质和我们此前讲到的分布式技术思路一脉相承:用更多的计算机组成一个集群,提供更多的计算资源,从而满足更大的计算压力要求。 分布式文件存储 HDFS 架构 大数据计算 MapReduce 架构 大数据仓库 Hive 架构 快速大数据计算 Spark 架构 大数据流计算架构

2024-04-10

100个副业项目合集-pdf

100个副业项目合集 电影票赚钱 闲鱼无货源 抖音小程序变现 抖音带货 外卖 CPS 流量充值

2024-03-16

book-02-16.txt

书单,从网上爬取的书单,用于做简单的item_to_vec的向量生成demo 每行一个书单,包含多条数据,用空格分离

2020-05-31

空空如也

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

TA关注的人

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