python
风筝__
学无止境
展开
-
mysql查询每日新增用户量,结合python实现
之前在搜狐数据分析笔试的时候,同学拍下了这个问题有两张表:用户登录表A,字段信息为dt(登录日期),servertime(登录时间),userid(用户id),rolelevel(用户等级,int)用户充值表B,字段信息为dt(充值日期),servertime(充值时间),userid(用户id),money(充值金额,int)问题:1 查询某个时间段,比如2018-9-3到2...原创 2018-09-16 22:18:17 · 6499 阅读 · 0 评论 -
编程题——统计字符串中连续出现多次的元素的个数
引出:网上可能有类似的问题,二进制串也是一种,比如统计“1100110011110001010”连续出现多次的元素个数:连续出现两次或两次以上的元素的个数"1"为3次,“0”为3次我一般喜欢用自己的思路去想出解决问题的方法,所以也没细查。数据结构与算法这种问题,我建议程序员如果想打牢基础的话最好自己动手去敲代码实现,做的多了,逻辑清晰了,问题自然就处理了思路:看似简单...原创 2018-09-23 22:23:09 · 5556 阅读 · 0 评论 -
python之random和numpy.random
最近经常用到random函数,因为总忘记或者搞混,所以在这做一个笔记randomrandom函数是python中封装好的函数,作为随机生成一些数必不可少的函数1、random.random()表示在[0,1)区间随机生成一个随机浮点数,所传递的函数不接受参数,即函数没有参数可传2、random.randint(m,n)接受两个参数,表示在[m,n]区间随机生成一个整数3...原创 2018-09-19 21:56:27 · 2907 阅读 · 0 评论 -
排序算法原理详解,结合python实现
1、冒泡排序冒泡排序算法的原理很容易理解,对n个元素来说,每次从第1个元素开始遍历直到第n-1个元素,每走一步将其与其后一个元素比较,如果大于就替换,否则保持不变(故是稳定的);这样遍历一次之后,就将最大的元素移到末尾。第二次遍历排除上一步移到末尾的元素,即将余下的n-1个元素重复之前的操作,将最大的元素移到末尾;第三次遍历排除上一步移到末尾的元素,将余下的n-2个元素重读之前的操作;再是n-...原创 2018-10-09 17:18:03 · 680 阅读 · 0 评论 -
编程题——输入一个正整数数组,将他们排起来成一个数,使得排出的数最小
如标题,例如 [675,23,10],组成最小数是1023675。可以用冒泡的思想,首先比较第一个元素675与23的组成,67523>23675,所以交换23和675,变为[23,675,10],;再比较675和10(始终让组成后大的元素靠后),变为[23,10,675];继续比较2310和1023,交换,变为[10,23,675],排序完成。python实现:alist = [...原创 2019-03-09 15:47:59 · 2190 阅读 · 0 评论 -
编程题——有m个数组成的数组,其中有一个数占一半以上,找出这个数
解法一:用快速排序,处于中间的数就是要找的那个数。时间复杂度为O(nlogn)快排的python实现可以点击这解法二:统计每个元素出现的次数,返回出现次数最大的元素。不同元素个数为M,则时间复杂度为O(M*n)aa = [1,1,1,1,0,0,0,0,0]set_aa = list(set(aa))count_max = 0key = 0for item in set...原创 2018-10-24 12:15:15 · 856 阅读 · 0 评论 -
python源码,朴素贝叶斯实现多分类
机器学习实战中,朴素贝叶斯那一章节只实现了二分类,网上大多数博客也只是照搬书上的源码,没有弄懂实现的根本。在此梳理了一遍朴素贝叶斯的原理,实现了5分类的例子,仅供参考!from numpy import *'''贝叶斯公式 p(ci|w) = p(w|ci)*p(ci) / p(w)即比较两类别分子大小,把结果归为分子大的一类p(w|ci)条件概率,即在类别1或0下,w(词频)出现的...原创 2019-10-09 10:09:56 · 2614 阅读 · 3 评论