10 Data_IT_Farmer

尚未进行身份认证

我要认证

BJUT 2014级 计算机学院小硕一枚,现为某上市金融公司--高级大数据开发工程师一枚。自20170701开始记录自己的技术工作生涯!广结天下技术之友,笑对未来技术之难题!

等级
TA的排名 2k+

【leetcode系列】给定一个单链表,判断单链表中是否有环

给定一个单链表,判断链表中是否有环。题目背景141. 环形链表——给定一个链表,判断链表中是否有环。如果链表中有某个节点,可以通过连续跟踪next指针再次到达,则链表中存在环。 为了表示给定链表中的环,我们使用整数pos来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果pos是-1,则在该链表中没有环。注意:pos不作为参数进行传递,仅仅是为了标识链表的实际情况。如果链表中存在环,则返回true。 否则,返回false。进阶:你能用O(1)(即,常...

2020-09-20 16:20:58

【leetcode系列】python单链表查找中间节点

python单链表查找中间节点使用快慢指针法# -*- coding: UTF-8 -*-class Node: def __init__(self,data,next): self.data = data self.next = nextn1 = Node('n1',None)n2 = Node('n2',n1)n3 = Node('n3',n2)n4 = Node('n4',n3)n5 = Node('n5',n4)p1 = n5p

2020-09-20 15:54:01

【leetcode系列】对二叉树的各个节点进行标记

对二叉树的各个节点进行标记1、题目背景描述(二叉树 )给定一个二叉树的表格,包含两列:Node 和 Parent,Node表示二叉树的节点值,Parent是Node的父节点。表名为BST:Column TypeNode IntegerParent Integer我们希望能找到二叉树每个节点类型,并按照大小排序。按如下方式输出结果:当节点是二叉树的根节点,输出Root当节点是叶子节点时,输出Leaf当节点两者都不是时,输出Inner输入样例Node Parent1 2

2020-09-20 15:48:43

【leetcode】python求矩阵中的最小路径之和和输出最小路径

题目背景介绍:求最小路径之和,并且输出最小路径给定一个包含非负整数的 m x n 网格,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。说明:每次只能向下或者向右移动一步。举例: 输入: [ [1,3,1], [1,5,1], [4,2,1] ] 输出: 7 解释: 因为路径 1→3→1→1→1 的总和最小求最小路径之和的代码:# -*- coding:utf-8 -*-def fun_min_path_sum(in_matr.

2020-09-19 20:49:05

【leetcode系列】Python实现二叉树层次遍历和判断一颗二叉树是否是镜像树

继续刷题,判断是否镜像对称二叉树。镜像对称二叉树,顾名思义,以根节点为轴,左右节点和节点内容互为镜像;如下图所示。这里要避免和完全二叉树混淆。这个我还是考虑了一段时间,递归和迭代都可以实现。递归的,如果一个节点值作为输入很难实现,所以新建一个新方法recurse,输入左右两个节点,返回bool值。思路很简单,如果输入两个节点都是空,可能是单个跟节点,返回True;如果一个有,另一个为空,返回False;如果左右两个节点,如果节点值相等,这里递归,把这两个节点的子节点左右对比,并按照and .

2020-09-19 17:22:53

Hadoop streaming:使用原生python编写MapReduce来统计文本文件中所有单词出现的频率功能

Python编写的MapReduce程序——统计文本文件中所有单词出现的频率功能。

2017-10-24 16:57:31

SSH 命令的三种代理功能(-L/-R/-D)和外网访问隐私数据库的示例

1、SSH 命令的三种代理功能(-L/-R/-D)ssh 命令除了登陆外还有三种代理功能:正向代理(-L):相当于 iptable 的 port forwarding 反向代理(-R):相当于 frp 或者 ngrok socks5 代理(-D):相当于 ss/ssr如要长期高效的服务,应使用对应的专用软件。如没法安装软件,比如当你处在限制环境下想要访问下某个不可达到的目标,或者某个临时需求,那么 ssh 就是你的兜底方案。1.1、正向代理:所谓“正向代理”就是在本地启动端口,把本地端

2020-09-18 16:00:35

【数仓系列】数仓分层的意义价值及如何设计数据分层

文章目录一、前言 二、数仓建模 三、数仓分层 四、数仓的基本特征 五、数据仓库用途 六、数仓分层的好处 七、如何分层一、前言现在说数仓,更多的会和数据平台或者基础架构搭上,已经融合到整个基础设施的搭建上。这里呢,我们不说Hadoop各种组件之间的配合,我们就简单说下数仓分层的意义价值和该如何设计分层。二、数仓建模说到数仓建模,就得提下经典的2套理论: 范式建模 Inmon提出的集线器的自上而下(EDW-DM)的数据仓库架构。 维度建模 Kimbal...

2020-09-17 14:55:56

判空函数之mysql中ifnull函数和hive中if函数及nvl函数介绍

判空函数之mysql中ifnull函数和hive中if函数及nvl函数介绍先说说,在mysql中,ifnull函数的用法,其表达式如下:IFNULL(expr1,expr2)如果 expr1 不是 NULL,IFNULL() 返回 expr1,否则它返回 expr2。IFNULL()返回一个数字或字符串值,取决于它被使用的上下文环境。举个应用场景,比如某一个字段定义为int类型,其默认值为0,但是在sql查询过程中,有可能出现为null,这个时候,我们就可以用ifnull来判断一下,如果结果

2020-09-15 16:38:34

IP转int 和int 转IP 的实现(Python & Java)

1、python IP转int 和int 转IP1.1、IP地址意义IP地址是一个32位的二进制数,通常被分割为4个“8位二进制数”(也就是4个字节)。IP地址通常用“点分十进制”表示成(a.b.c.d)的形式,其中,a,b,c,d都是0~255之间的十进制整数。例:点分十进IP地址(100.4.5.6),实际上是32位二进制数(01100100.00000100.00000101.00000110)。根据这些特性就能解析出ip地址1.2、IP str转IP int 解决函数解决方案代码

2020-09-13 10:42:22

Tableau导出sql语句和性能监控

1. 帮助-设置和性能-启动性能记录2. alt+F5刷新3. 帮助-设置和性能-停止性能记录弹出窗口4. 点击柱体可查看对应sql语句5. 右键点击柱体查看数据-完整数据-全部导出可导出csv文件,其中command栏包含sql语句参考:https://blog.csdn.net/weixin_43982705/article/details/107941132 7 Steps To Export SQL Statements From Tableau...

2020-09-01 15:06:33

Hive中的分析窗口函数 LAG,LEAD,FIRST_VALUE,LAST_VALUE的经典例子

题目背景:登录表 t_login: user_id,login_time,login_ip需求:1)、 加工出一张用户首末次登录的信息表。user_id,first_login_time,first_login_ip,last_login_time,last_login_ip2)、 新增一个字段--距离上次登录的时间间隔(sub_dur)0)、准备数据和表用户id,访问时间,访问国家s001|100|ens001|120|cns001|45|lss001|34|c...

2020-09-01 09:52:48

Hive的分析窗口函数SUM,AVG,MIN,MAX的例子

Hive中提供了越来越多的分析函数,用于完成负责的统计分析。抽时间将所有的分析窗口函数理一遍,将陆续发布。今天先看几个基础的,SUM、AVG、MIN、MAX。用于实现分组内所有和连续累积的统计。Hive版本为 apache-hive-0.13.1数据准备CREATE EXTERNAL TABLE lxw1234 (cookieid string,createtime string, --daypv INT) ROW FORMAT DELIMITEDFIELDS TE

2020-09-01 09:15:49

知乎高赞:常用的分布式事务解决方案有哪些?

常用的分布式事务解决方案有哪些?166 人赞同了该回答关于分布式事务,工程领域主要讨论的是强一致性和最终一致性的解决方案。典型方案包括:两阶段提交(2PC, Two-phase Commit)方案 eBay 事件队列方案 TCC 补偿模式 缓存数据最终一致性一、一致性理论 分布式事务的目的是保障分库数据一致性,而跨库事务会遇到各种不可控制的问题,如个别节点永久性宕机,像单机事务一样的ACID是无法奢望的。另外,业界著名的CAP理论也告诉我们,对分布式系统,需要将数据...

2020-07-30 11:04:29

究竟什么是CRM(客户关系管理系统)呢?

究竟什么是CRM?来源: 人人都是产品经理 发布时间:03-2712:44深圳聚力创想信息科技有限公司什么是CRM?CRM又有什么作用呢?百科定义如下:这篇文章将会通过一个中心,两个核心和三个支柱详细的分析了CRM以及CRM的作用。对CRM感兴趣的小伙伴们可以进来看一看。入行产品坑近7年,最近4年一直从事CRM相关的产品工作,前后总共或参与或主导设计了几套CRM系统。坑踩了不少,也收获了一些关于CRM的经验。在此总结出来,权当是对过去几年的一个沉淀,...

2020-07-29 10:13:11

分布式系统中的CAP理论,面试必问,你理解了嘛?

对于刚刚接触分布式系统的小伙伴们来说,一提起分布式系统,就感觉高大上,深不可测。而且看了很多书和视频还是一脸懵逼。这篇文章主要使用大白话的方式,带你理解一下分布式系统中的CAP理论。保证你能听懂。为了防止被误以为是洗文的嫌疑,我在这里先说明一下:我参考了知乎和博客园上等相关文章,还有下面的图不是我自己画的,我觉得能清晰地表达出意思就是好图,在百度图片上下载了一波。一、什么是分布式系统拿一个最简单的例子,就比如说我们的图书管理系统。之前的系统包含了所有的功能,比如用户注册登录、管理员功能、图书借阅

2020-07-28 15:08:28

彻底搞懂-扔鸡蛋问题-方程-动态规划

题目:2个鸡蛋,从100层楼上往下扔,以此来测试鸡蛋的硬度,比如鸡蛋在第9层没有摔碎而在第10层摔碎了,那么鸡蛋不会摔碎的零界点就是9层,如何用最少的尝试次数,测试出鸡蛋不会摔碎的临界点?最笨法:把其中一个鸡蛋从第1层开始往下扔,如果第1层没碎换到第2层扔,如果第2层没碎换到第3层扔,,,如果第59层没碎换到第60层扔,如果第60层碎了,说明不会摔碎的临界点是59层,最坏情况下需要扔100次二分法:把鸡蛋从50层往下扔,如果第一枚在50层碎了,就从第1层开始(一共只有两个鸡蛋,第一个鸡蛋

2020-06-24 17:47:18

布隆过滤器+缓存穿透问题+Counting Bloom Filter,原理+案例+代码实现

概述什么是布隆过滤器布隆过滤器(Bloom Filter)是1970年由布隆提出的,它实际上是由一个很长的二进制向量和一系列随意映射函数组成。它是一种基于概率的数据结构,主要用来判断某个元素是否在集合内,它具有运行速度快(时间效率),占用内存小的优点(空间效率),但是有一定的误识别率和删除困难的问题。它能够告诉你某个元素一定不在集合内或可能在集合内。在计算机科学中,我们常常会碰到时间换空间或者空间换时间的情况,通常两者不可兼得,我们要在两者之间取舍...

2020-06-20 15:26:01

python 多sheet复杂报表开发

在实际工作中,报表开发的过程中,往往会遇到各种较为复杂报表,比如一个报表excel里面有多个sheet,每个sheet都是不同维度的统计指标,如何形成这样多sheet的报表呢?废话不多说,代码这就来见:#!/usr/bin/python2.7# -*- coding:utf-8 -*-"""File: Excel.pyAuthor: yyzDate: 2019/06/02 15:26"""import csvimport codecsimport pandas as p...

2020-06-03 10:16:22

多进程和多线程的概念

多进程和多线程的概念目录一、多线程是什么? 二、多进程是什么? 三、多线程与多进程,选择谁? 四、并行、并发、高并发等概念一、多线程是什么? 说起多线程,那么就不得不说什么是线程,而说起线程,又不得不说什么是进程。 进程可以简单的理解为一个可以独立运行的程序单位,它是线程的集合,进程就是有一个或多个线程构成的。而线程是进程中的实际运行单位,是操作系统进行运算调度的最小单位。可理解为线程是进程中的一个最小运行单元。 那么多线程就很容易理解:多线程...

2020-06-03 09:48:05

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv2
    勤写标兵Lv2
    授予每个自然周发布4篇到6篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。