首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
课程
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
搜索
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
在线笔面试、雇主品牌宣传
登录
/
注册
橘子汽水超人2号
获赞
0
粉丝
1
关注
0
看过 TA
0
南京大学
2021
算法工程师
IP属地:江苏
暂未填写个人简介
私信
关注
拉黑
举报
举报
确定要拉黑橘子汽水超人2号吗?
发布(5)
刷题
橘子汽水超人2号
2020-06-09 17:25
算法工程师
BFPRT算法
TOP-K问题 一堆数中,找出前k大,或者前k小问题。一般来说,我们先sort,然后取值即可。目前解决TOP-K问题最有效的算法即是BFPRT算法,又称为中位数的中位数算法,该算法由Blum、Floyd、Pratt、Rivest、Tarjan提出,最坏时间复杂度为O(n)。不过想想有点不可思议,那k=n时岂不是也时间复杂度只有O(n)?核心是:修改快速排序中pivot的选取。 不得不说,什么CSDN里各种博客都是相互抄,看了很多都是同一篇帖子,说明白的没几个,以下是我总结的。 算法步骤: 将n个元素每5个一组,分成n/5(上界)组,我到现在还在想为什么是5个一组,三个1组行不行,10个一组...
0
点赞
评论
收藏
分享
橘子汽水超人2号
2020-06-09 17:32
已编辑
算法工程师
问题1:投票
投票输入姓名,统计得票,然后给出得票最高者。问题1:输入规范,名字只包含字母,且首字母大写,如果有不规范输入,请报错问题2:如果最高得票数有多位,则给出按姓名字母排序得首位。排序规则是,大写在前,小写在后,短的在前,长的在后。 检查姓名,对于不符合规范的,返回-1 对姓名统计,做成字典,然后列表化,进行第一轮投票排序 截断得票相同的得主 按照姓名进行排序,给出最终得票最高者class Solution: def findWinner(self,names): votes = {} for x in names: # 检查姓名,完成统计 if not ...
0
点赞
评论
收藏
分享
橘子汽水超人2号
2020-06-08 15:09
算法工程师
排序算法
总觉得,如果说什么是算法的起点,那就是排序算法,所以今天打算记录下跟排序算法相关的内容。排序算法有太多类了,但最容易入门的,经典的,自然是冒泡排序。 冒泡排序 冒泡这个词很形象,就是大的或者小的,往单向传递: A(1)>A(2),则两者交换位置,从A(2)继续,直到A(n)是最大的。 再从A(1)开始,直到A(n-1)是第二轮最大的。... import numpy as np import random class Solution: def bubbleSort(self,arr): print('UnSortedArr',arr) ...
0
点赞
评论
收藏
分享
橘子汽水超人2号
2020-05-16 16:24
算法工程师
整数中出现1的次数
数字从小到大,把每个数包含的1的个数放到一个字典里去。 每一个大数分解成最高位+余下数,比如2021分解为2和021两部分,分别判断最高位和分出来的那部分相加即可,缺点是比较费空间 # -*- coding:utf-8 -*- import collections class Solution: def NumberOf1Between1AndN_Solution(self, n): &nb...
0
点赞
评论
收藏
分享
橘子汽水超人2号
2020-04-10 00:00
算法工程师
2020-04-10
在牛客打卡1天,今天也很努力鸭!
0
点赞
评论
收藏
分享
1
工具箱
TA的圈子
暂未加入圈子
TA的圈子
TA的笔记
暂无笔记
TA的笔记
登录
0
天
已登录
0
天
连续登录
0
人
今日访客
牛客网
牛客企业服务