- 博客(18)
- 收藏
- 关注
原创 计算幸运数字的个数
我们称一个长度为n的数X(X= d1d2......dn, d1 != 0)为幸运数,当且仅当,对于所有的, 满足di != d(n+1-i),请问在[a, b]之间存在多少幸运数:分析:只需计算x<= b 以及< a分别有多少个幸运数即可。对于数字b(假设b的位数是n, 每一位数字存在数据data[n]中,下标以1开始)示例: b = 2999则 n = 4,...
2018-09-21 16:45:48 1416
原创 堆排序的时间复杂度
1. 众所周知堆排序时间复杂度 nlog(n)建堆时间复杂度o(n)详情参考:https://www.zhihu.com/question/20729324每一次将堆顶数字放在最终位置,对于新堆调整,时间复杂度log(n) 。(我之前都是从头建堆,时间复杂度实际上是n平方)...
2018-09-04 13:50:30 358
原创 Java三种线程安全的单例模式
单例模式适用的场景:1. 经常创建,销毁的对象;2. 创建费时或者耗资源的对象;3. 访问数据库的对象。三种方法://懒汉式,装载类的时候进行实例化class Singleton1{ private final static Singleton1 instance = new Singleton1(); private Singleton1(){ ...
2018-08-23 23:06:29 1353 1
原创 Java protected 与 default 区别
public,protected,private是Java里用来定义成员的访问权限的,另外还有一种是“default”,也就是在成员前不加任何权限修饰符。如: public class A{ void method(){}; } method就属于default权限。 这四个修饰符的访问权限如下表: ---------------------------------...
2018-08-21 10:33:05 463
原创 求最大公约数
辗转相除法:gcd(a,b) = b, 当 a%b==0,且 a >= b gcd(a,b)= gcd(b, a%b) 当 a%b != 0,且 a >= b代码:import java.util.*;public class Main { public static void main(String[] args) { Scanne...
2018-08-20 10:08:55 141
原创 区间查找
为了不断优化推荐效果,今日头条每天要存储和处理海量数据。假设有这样一种场景:我们对用户按照它们的注册时间先后来标号,对于一类文章,每个用户都有不同的喜好值,我们会想知道某一段时间内注册的用户(标号相连的一批用户)中,有多少用户对这类文章喜好值为k。因为一些特殊的原因,不会出现一个查询的用户区间完全覆盖另一个查询的用户区间(不存在L1<=L2<=R2<=R1)。输入描述:...
2018-08-19 15:21:42 599
原创 Dataframe 按照行访问数据
假设数据 data 是dataframe对象arr = [[1,2,3][4,5,6]]data = pd.Dateframe(data = arr, colemns=["A","B"])实现按照行访问数据(不必对列"A"构建索引 ):data.loc[data["A"] == 1]["B"]import pandas as pdarr = [[1,2,3][4,5,6]]...
2018-08-17 16:07:15 1639
原创 精确查找top k和非精确查找top k
信息检索里面经典问题。精确top K 检索及其加速办法•方法一:快速计算余弦• 方法二:堆排序法N中选K• 方法三:提前终止计算精确top K检索加速方法一:快速计算余弦 • 检索排序就是找查询的K近邻 • 一般而言,在高维空间下,计算余弦相似度没有很 高效的方法 • 但是如果查询很短,是有一定办法加速计算的,而 且普通的索引能够支持这种快速计算特例– 不考虑查询词项的...
2018-08-17 10:12:49 1632
原创 二分查找(对于所找数据不存在的情况)
public static int find_low(List<Integer> inter, int lo, int hi, int tar){ if(lo>=hi) return lo; int mid = (lo + hi)/2; if(inter.get(mid) > tar){ ...
2018-08-17 10:10:12 1080
原创 过拟合以及L1和L2区别
过拟合的原因有很多:在训练数据分布和数据本身分布一样的情况下,过拟合的主要原因是模型学习了训练数据的细节和噪声。解决方法:1. 正则化正则化方法主要有L1正则化和L2正则化。那么两者的区别: a. L1 泛化能力更好,因为其可以过滤掉更多的特征。2. Dropout 这是神经网络里面常用的缓解过拟合的主要方法。其思想可参考:https://blo...
2018-08-17 10:06:58 597
原创 字符串分类
牛牛有N个字符串,他想将这些字符串分类,他认为两个字符串A和B属于同一类需要满足以下条件:A中交换任意位置的两个字符,最终可以得到B,交换的次数不限。比如:abc与bca就是同一类字符串。现在牛牛想知道这N个字符串可以分成几类。输入描述首先输入一个正整数N(1 <= N <= 50),接下来输入N个字符串,每个字符串长度不超过50。输出描述输出一个整数表示分类的个数。...
2018-08-14 13:24:13 759
原创 2019拼多多提前批笔试题(二)
第一题:https://blog.csdn.net/aoxue_bai/article/details/81174723第二题题目:求最长重复子串。假设字符串S和子串S1满足S.charAt(i) == S1.charAt(i%S1.length()); 则子串S1是S的一个重复子串。求满足条件最长子串。比如 "abcabcabc" 的最长重复子串就是"abc"解题思路:暴力破解法,时...
2018-07-24 10:25:51 3132 1
原创 2019拼多多提前批笔试题(算法岗)
一共四道编程题:第一题 :给一个数组,求最长的山谷。例:[1, 2, 5, 3, 2, 3, 4,1]最长的山谷是 5 3 2 3 4,长度是5.本题类似于lettcode 845,求最长山峰。trick:笔试的输入很坑,没有给定输入长度,导致输入处理很麻烦,导致程序出错。求山峰的代码:class Solution { public int longestMo...
2018-07-23 21:05:21 3523
原创 2019WAP初试笔试题目(续)
第一题:https://blog.csdn.net/aoxue_bai/article/details/81033300第二题: 给定几个数,a1, a2, a3...,an, 求 两个数拼接起来能够被7正除的个数。举个例子721能够被7整除,217也能被7整除1 - 11 ->111 和 11- 1->算不同的数。首先思路:直接暴力两两拼接,然后看是否能够被7整除...
2018-07-23 17:58:20 352
原创 2019WAP初试笔试题目
初试一共两道题目,做答时间2小时第一题:给定n个公交站,m条线路,假设每条线路坐车的价格均是1元,求从站点1到站点n所花的最少钱。(保证站点1到站点n一定有路径)每条线路均是1元,求最小花费,本质上就是求公交线路最少换乘数+1。输入: 第一行:n,m 第二行-第m+1行 线路站点数,线路从第一个站点到最后一个站点输出: 最少的花费案例输...
2018-07-13 17:44:07 597
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人