
面试
karaa
这个作者很懒,什么都没留下…
展开
-
面试题:有两个有序数组,判断是否有元素同时存在于两个数组中,最优解
有两个int型数组,已排序,判断是否有元素同时存在于a和b中 var arr1 = [1,2,4,5] var arr2 = [3,4,6,7,8] function checkOwnSameItem(arr1,arr2) { var len1 = arr1.length; var len2 = arr2.length; var indexA = indexB = ...原创 2019-05-14 20:41:15 · 1506 阅读 · 0 评论 -
面试题:回旋数
算法面试题: 形如一下: 横向右为x正坐标 竖向下为y正坐标 (0,0)= 1 (1,0)=2 (1,1)=3 (0,1)=4 (-1,1)=5 … 计算坐标(-7,5)对应值 var Point = function (x,y) { this.x = x; this.y = y; } function getValue(x,y) { // 求绝对值 var ce...原创 2019-05-14 20:51:28 · 503 阅读 · 0 评论 -
设计一个公平的洗牌算法
洗牌的基本逻辑,是一个已知数组重排序的问题,所以简单的做法是遍历K次,每次交换两张牌,但是这个算法公平吗? 如何确定一个算法公平,假设有N张牌,那么就有N!中排序方法,而我们应该从这n!次中随机1个,这样才能保证公平性 但是这个算法复杂度太高了!!! 那么怎么简单呢? 换一种思维,每个位置都能等概率的存放每个元素 第一次,随机N个元素,放到第一位,即 第一位的元素有1/N的概率 ...原创 2019-08-12 08:49:53 · 1166 阅读 · 0 评论