4 Daniel.Qin

学生身份

我要认证

虽千万人,吾亦往矣 !

等级
TA的排名 30w+

张一鸣:技术与人文、责任与价值观之间到底是什么关系?

如果你印象中习惯了神采飞扬趾高气昂高瞻远瞩的霸道总裁,张一鸣恐怕会让你感到意外。对于一家110亿美元公司的创始人而言,他显得太年轻和安静——甚至有些乖巧。他的同事们告诉《财经》,这位CEO最激烈的情绪表达方式不过是“这个事情怎么会这样?”在今天中国,创业公司Founder的数量可能要以百万计算,而张一鸣无疑是其中最幸运的两三人之一。他和他的两位朋友所创立的3家公司被认为是最有可能向中国互联网统治者——BAT发起挑战的胜利同盟,另外两家分别是美团点评和滴滴。这三家公司创立都不超过6年,估值均超过百亿美

2020-06-13 23:14:10

张一鸣:我的大学四年收获及工作感悟

在生活工作当中,我们经常会发现:为什么有的年轻人创业越做越大,有的年轻人创业却越做越小?为什么同时进入职场的年轻人,两三年后达到的高度可能相差甚远?一个优秀的年轻人,和一个普通的年轻人之间,到底有什么区别?张一鸣先生的这篇深度总结,应该能给你很多思考。大学里的三点收获2001年我考入了南开大学,起初大学的生活是让人有点失落的,但慢慢地从安静朴素的校园和踏实努力的氛围中,我还是找到了自己的节奏。大学期间我主要在做三件事情 ,一是写代码,因为我是搞技术的;二是看书,看了很多很多书;三是修电脑。基于此..

2020-06-13 23:03:33

数组模拟队列——Java实现

队列简介:队列是一种有序列表,可以用数组或链表来实现。遵循先入先出的原则,即:先存入队列的数据,要先取出,后存入队列的数据的要后取出。在队列中,允许插入数据的一端叫做队尾(rear),允许取出数据的一端则称为队头(front)。使用数组模拟队列示意图如下:数组模拟队列的思路:队列本身是有序列表,若使用数组的结构来存储队列的数据,则队列数组的声明如上图,其中maxSize 是该队列的最大容量。 因为队列的输出、输入是分别从前后端来处理,因此需要两个变量front及rear分别记录队列前后端的

2020-05-25 21:38:50

稀疏数组与普通数组的转换——Java实现

稀疏数组简介:所谓稀疏数组就是当数组中大部分的内容值都未被使用(或都为零),在数组中仅有少部分的空间使用。因此造成内存空间的浪费,为了节省内存空间,并且不影响数组中原有的内容值,我们可以使用稀疏数组去压缩数据。讲一个实际需求中的例子:现在要编写一个五子棋程序,这便有存盘退出和续上盘的功能,而我们需要用二维数组记录棋盘。用1代表黑子,用2代表蓝子,空白位置用0表示:问题分析:因为该二维数组的很多值是默认值0,因此记录了很多没有意义的数据,所以可采用稀疏数组来压缩数据。稀疏数组适用场景:当一

2020-05-23 21:39:39

二叉堆(Heap)与二叉查找树(Binary Search Tree)的区别

问题描述通常我们在学习二叉堆和二叉查找树时是很容易混淆的,虽说堆也是一种完全二叉树,但二者差别还是挺大的,本文试做分析。逻辑结构二叉堆和二叉查找树都是结点带权重,并在父子结点间满足某种规则的数据结构。二叉堆是一种完全二叉树,分大根堆、小根堆两种,子结点总是大于或小于父结点。大根堆,顾名思义,根是最大的,每个子结点都要小于父结点,不区分左右儿子谁大谁小,也不必保证某个“孙子结点”一定要小于另一个“儿子结点”。小根堆恰恰相反,根是最小的,每个子结点都要大于父结点,不区分左右儿子谁大谁小,也不

2020-05-08 22:55:59

线性查找(linearSearch)与二分查找(binarySearch)比较—Java实现

一、线性查找(顺序查找)定义:在一列给定的值中进行搜索,从一端开始逐一检查每个元素,直到找到所需元素的过程。算法要求:1.数据存储顺序没有限制;2.存储数据类型没有限制。代码实现:/** * 线性查找:顺序查找法;在给定的一列数组中,一个个查询需要的内容。 * 如果找到返回下标,如果没有找到,返回-1. */import java.util.Scanner;public class LinearSearch { public static void main(String[]

2020-05-08 19:06:46

Java中Arrays.toString(a)与a.toString()的区别

1.Arrays.toString(a)方法是是用来将数组转换成String类型输出,入参可以是long,float,double,int,boolean,byte,object型的数组,使用此方法可以很方便地输出数组,而不用一个一个地输出数组元素。2.a.toString()方法只会打印出数组的地址。...

2020-05-07 22:11:07

快速排序(Quick Sort)-Java实现

高快省的排序算法有没有既不浪费空间又可以快一点的排序算法呢?那就是“快速排序”啦!光听这个名字是不是就觉得很高端呢。假设我们现在对“6 1 2 7 9 3 4 5 10 8”这个10个数进行排序。首先在这个序列中随便找一个数作为基准数(不要被这个名词吓到了,就是一个用来参照的数,待会你就知道它用来做啥的了)。为了方便,就让第一个数6作为基准数吧。接下来,需要将这个序列中所有比基准数大的数放...

2020-05-06 12:15:15

归并排序(Selection Sort)-Java实现

归并排序(Merge Sort)算法简介:归并排序是建立在归并操作上的一种有效的排序算法,该算法是采用分治策略(Divide and Conquer)(分治法将问题分(divide)成一些小的问题然后递归求解,而治(conquer)的阶段则将分的阶段得到的各答案"修补"在一起,即分而治之)。的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序...

2020-05-04 23:50:21

堆排序(Heap Sort)-Java实现

堆排序(Heap Sort)算法简介:堆排序是指利用堆这种数据结构所设计的一种排序算法。堆是一个近似完全二叉树的结构,并同时满足堆积的性质:即子结点的键值或索引总是小于(或者大于)它的父节点。堆排序分为两种方法:大顶堆:每个节点的值都大于或等于其子节点的值,在堆排序算法中用于升序排列; 小顶堆:每个节点的值都小于或等于其子节点的值,在堆排序算法中用于降序排列;堆排序(Heap Sort...

2020-05-04 23:08:51

插入排序(Insertion Sort)-Java实现

插入排序(Insertion Sort)算法简介:插入排序是一种丛序列左端开始依次对数据进行排序的算法。在排序过程中,左侧的数据陆续归位,而右侧留下的就是还未被排序的数据。插入排序(Insertion Sort)算法原理:插人排序的思路就是从右侧的未排序区域内取出一个数据,然后将它插入到已排序区域内合适的位置上。插入排序就类似排纸牌,从牌桌上抓牌排在手里,手里的牌始终是有序的,每次都把...

2020-05-02 22:29:53

选择排序(Selection Sort)-Java实现

选择排序(Selection Sort)算法简介: 选择排序是利用逐个选择的方式进行排序,逐个选择出数组中的最小(或最大)的元素,顺序放在已排好序的序列后面,直到全部记录排序完毕。选择排序(Selection Sort)算法原理:例如我们有一个数组,我们需要把较小的元素排在前面,把较大的元素排在后面,那么需要选择出最小元素并将其排在序列最前:从待排序列中选出最小(或最大)的一个元...

2020-05-02 18:56:29

冒泡排序(Bubble Sort)-Java实现

冒泡排序(Bubble Sort)算法简介:冒泡排序是一种常见的交换排序。在这个过程中,数字会像泡泡一样,慢慢从右往左“浮”到序列的顶端,所以这个算法才被称为“冒泡排序”。其基本思想是两两比较相邻记录,如果反序则交换,直到没有反序的记录为止。冒泡排序(Bubble Sort)算法原理:例如我们有一个数组,我们需要把较小的元素排在前面,把较大的元素排在后面,那么需要从尾部到尾头部开始比较...

2020-04-29 19:07:06

判断一个字符串是否为回文字符串—Java实现

简单字符串判断(只考虑包括字母,数字的字符串):回文定义:“回文字符串”就是正读倒读都一样的字符串。如字符串“Abcd121dcba”是一段回文字符串。实现方法:将字符串分成两部分并转换为字符数组,从字符串数组的两端逐个进行比较。实现代码:public class Demo { public static void main(String[] args) { String...

2020-04-24 00:02:21

常规有序数组二分查找和旋转有序数组二分查找—Java实现

常规有序数组二分查找二分查找又称折半查找(Binary Search),是一种效率较高的查找方法。二分查找要求线性表必须采用顺序存储结构,而且表中元素按关键字有序排列。查找过程:首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表分成前、后两个子表,如果中间位置记录的关键字大于查找关键字,则进一步查找前一子表,否则进一...

2020-04-23 22:05:36

颠倒数组元素的顺序—Java实现

颠倒数组元素的顺序—Java实现public class Demo { public static void main(String[] args) { int[] arr= {1,3,15,7,18,2,24,6,8,35,6,34,10}; reverse(arr); for(int i=0;i<arr.length;i++) { System.out.prin...

2020-04-23 08:52:48

找出数组中最大的元素—Java实现

找出数组中最大的元素—Java实现public class Demo { public static void main(String[] args) { int[] arr= {1,3,15,7,18,2,24,6,8,35,6,34,10,}; System.out.print(PrintMax(arr)); } public static int PrintMax(int...

2020-04-22 23:08:09

欧几里得算法原理—Java实现

欧几里得算法:又名辗转相除法,欧几里德算法是用来求两个非负整数最大公约数的算法。其计算原理依赖的定理:两个非负整数的最大公约数等于其中较小的那个数和两数相除余数的最大公约数。其具体计算方法为:用两数中的较大数p除以较小数q,再用出现的余数r1去除除数q,再用出现的余数r2去除余数r1,如此反复,直到最后余数是0为止,最后的除数就是这两个数的最大公约数。举例说明:利用欧几里得算法求两...

2020-04-22 21:27:29

《Python数据分析与挖掘实战》代码纠错4-3

最近在学习张良均老师的《Python数据分析与挖掘实战》,发现部分代码存在错误,特分享调试好的代码,供学习参考。代码清单4-3 数据离散化书本代码:#-*- coding: utf-8 -*-#数据规范化import pandas as pddatafile = '../data/discretization_data.xls' #参数初始化data = pd.read_e...

2020-01-14 23:33:02

《Python数据分析与挖掘实战》代码纠错4-1

最近在学习张良均老师的《Python数据分析与挖掘实战》,发现部分代码存在错误,特分享调试好的代码,供学习参考。代码清单4-1 用拉格朗日法进行插补书本代码:#拉格朗日插值代码import pandas as pd #导入数据分析库Pandasfrom scipy.interpolate import lagrange #导入拉格朗日插值函数inputfile = '../d...

2020-01-14 20:03:09

查看更多

勋章 我的勋章
  • 领英
    领英
    绑定领英第三方账户获取
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 签到新秀
    签到新秀
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 新人勋章
    新人勋章
    用户发布第一条blink获赞超过3个即可获得
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv2
    勤写标兵Lv2
    授予每个自然周发布4篇到6篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。