面试题目
夏末的初雪
知乎id: 迷路森林
展开
-
在其他数都出现k次的数组中找到只出现一次的数
这一类问题可以统称为single-num的问题。主要涉及的知识是位运算。 最初是在牛客网上碰到了k=2和k=3的题目,在左老师的书中看到了一般情况,这里来总结一下。 k=2时 Given an array of integers, every element appears twice except for one. Find that single one. public class S原创 2017-08-20 22:56:57 · 686 阅读 · 0 评论 -
关于位运算几道经典题目
之前就和同学讨论过几道位运算的题目,觉得挺有意思的,就记录一波。 这样坐着敲字总让我想起在出租房里百无聊赖的日子、 题目一: single number 问题 整型数组中只有一个整数只出现了一次,其他整数都出现了两次,找出出现一次的这个整数,并返回。 异或运算 利用异或运算整型数自身与自身异或为0的特点。 int singleNum(int[] arr){ int res...原创 2017-10-04 16:54:43 · 2631 阅读 · 1 评论 -
面试题目集(一)
时间好快 面试题目一:海量无序数据中,得到最小的K个数 考察知识点:大顶堆,堆排序建堆,调整过程 package learning; public class minTopK { /** * 利用大根堆求解无序数组的最小的k个数 */ public static void swap(int[] arr,int index1,int index2){ int tmp = a原创 2017-07-08 10:39:02 · 525 阅读 · 0 评论 -
一个递归算法
这是为了铭记如何把代码写的漂亮。敬大神~ 我最终想要得到的效果是这样的:‘ 水心病 latin_name 糖化病 水心病 latin_name 蜜果病 水心病 symptoms harm plants 果心 水心病 symptoms harm plants 果面 等等 这个的思想利用动态规划来做,我们需要在判断类型的前提下来进行递归,一直找到最终的Value值,然后把当前原创 2017-03-17 21:52:23 · 379 阅读 · 0 评论 -
基于分治和DP的算法设计
题目一: 半数集问题 1,n属于set(n), 2,在n的左边加上一个自然数,但该自然数不超过最近添加的数的一半 按照此规则进行处理,知道不能再添加自然数为止 如set(6) = {6,16,26,126,36,136} set(8) = {8,18,28,38,48,128,138,148,248,1248} public class Banshuji { //多重集的半数原创 2016-10-21 21:56:47 · 375 阅读 · 0 评论