首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏数据人生

    算法面试题

    算法的几个特征是什么 有穷性: 一个算法必须保证执行有限步之后结束 确切性: 算法的每一步骤必须有确切的定义 输入:一个算法有0个或多个输入,以刻画运算对象的初始情况,所谓0个输入是指算法本身定除了初始条件 没有输出的算法是毫无意义的 可行性: 算法原则上能够精确地运行,而且人们用笔和纸做有限次运算后即可完成 算法复杂性的定义。大O、小o分别表示的含义 小o表示实际的时间复杂度,大O表示时间复杂度。 将真实的时间复杂度中的每个式子的常数项设成1,并取多项式中单项最大的那个项,就成了大O 递归算法的定义、递归算法的两要素 定义:一种直接或者间接调用自身的算法 两要素 终止条件 每次递归调用的时候, 范围会缩小 分治算法的思想 分治算法,就是分而治之,将复杂的问题分解成简单的问题进行解决 动态规划算法解题框架,动态规划算法的两个要素是什么? 参考 July面试算法讲座PPT

    46810编辑于 2022-09-29
  • 来自专栏全栈程序员必看

    Java算法面试题

    33.说说HTTPS协议关于CA证书这方面的了解 34.HTTPS传输时涉及到一些加密算法,有哪些了解,以及算法的应用场景 比如RSA 35.对称加密算法和非对称加密算法的概念 36.HTTP协议的 ,初生代用哪些算法,老生代用哪些算法 55.如何判断出哪些垃圾该清理,哪些不该清理? grade(cid,sid,score) 1,sex 改为age,非空,默认值为0 2 统计035号课程分数大于036号课程分数的学生ID 3 统计所有003班学生各门功课的课程名称和平均分 以上是所有的面试题 项目中开发你的垃圾回收算法用的哪一种?(我说复制算法, 他听了之后说 what??? 啥? 我说复制算法,他接着说 啥?复制算法? 我咋没听过,我说copying,他说还是不懂,。。。。。 15 垃圾回收的一些算法 16 年轻代,老年代分别用什么算法? 18 创建一个线程有几种方式? 19 怎么启动一个线程?

    1.1K30编辑于 2022-11-15
  • 来自专栏后端技术探索

    常见算法面试题

    这几天在网上看到一篇关于算法面试题的博客,归纳的很好,有不少经典的题目,大部分来自《编程珠玑》、《编程之美》、《代码之美》三本书。这里给出书上的解答以及一些思考。如有不对的地方,希望得到高手的指点。 【一】 时间受限 大部分的面试题,都是对时间复杂度有所要求的,如果有涉及,“最快”一类的字样,毫无疑问,先上时空原理,用空间来换时间。Hash,大数组,一些辅助性的空间,都是首选。 -- 微软面试题 解法:算一下目前牌的数值总和x,原来完整的总和是y,则丢掉的牌是y-x。 5. 编码 编码真是个好东西,它可以将复杂的问题抽象化。 -- 微软面试题 解法:使用快慢两个指针,慢指针p = p->next,快指针q = q->next->next,如果相遇,那么就有环。 树 eg6.4:写堆排序的算法 一般算法书上都有的,这里就不列了 eg6.5:判断一棵二叉树T中,是否包含另一颗二叉树P的结构。 -- 微软面试题 待解答 以上一些内容,只是管中窥豹而已。

    1.4K20发布于 2018-08-09
  • 来自专栏爪哇缪斯

    面试题27:GC算法——复制算法

    复制算法如下图所示: 为了解决效率问题,复制算法应运而生。 优点: 执行效率很高。 可以保证回收后的内存空间没有碎片。 缺点: 内存空间只能使用1/2 总结原理: 因为90%以上的新生代对象生命周期都很短暂,并且GC在新生代回收的特点就是频率高,耗时低,所以:针对以上特点,JVM垃圾收集器都采用复制算法来回收新生代 复制算法在JVM堆中的应用 由于Eden区于S0和S1比例默认是8:1:1,新生代的空间=Eden区+S0/S1=90%,那么浪费的空间也只有10%而已。

    24210编辑于 2023-05-09
  • 来自专栏小K算法

    算法面试题:均分纸牌

    05 算法及实现 5.1 算法思想 分析到这里问题的本质规律已经找出来了,先将整个区间分割开,然后对于每一个不可再分割的子区间,设有X堆纸牌,按上述方法移动X-1次可使得每堆都相等。 实现代码非常简单,但思考过程并不简单,需要找出问题的本质规律,要证明算法的正确性,这个还是有一些思考量在里面的。大家跟着小K的思路多思考,勤用脑,总有一天你会感叹:原来都是套路啊,哈哈。

    88330发布于 2021-05-31
  • 来自专栏小K算法

    算法面试题:草坪修整

    当然算法问题不应太注重固定的套路模型,思考方法才是更重要的,以不变应万变。

    44040发布于 2021-07-30
  • 大数据算法面试题

    算法思想:分而治之+HashIP地址最多有2^32=4G种取值情况,所以不能完全加载到内存中处理;可以考虑采用“分而治之”的思想,按照IP地址的hash(ip)%1024,把海量IP日志分别存储到1024 4MB个IP地址;对于每个小文件,可以构建一个ip为key,出现次数为value的Hash map,同时记录当前出现次数最多的那个ip地址;可以得到1024个小文件中的出现次数最多的ip,再依据常规的排序算法得到总体上出现次数最多的 还是典型的TOP K算法,解决方案如下:方案1:顺序读取10个文件,按照hash(query)%10的结果将query写入到另外10个文件(记为)中。 7.腾讯面试题:给40亿个不重复的unsigned int的整数,没排过序的,然后再给一个整数,如何快速判断这个数是否在那40亿个数中?

    41610编辑于 2025-01-19
  • 来自专栏小K算法

    算法面试题:放苹果

    作者 | 小K 出品 | 公众号:小K算法 (ID:xiaok365) 01 故事起源 把M个苹果放在N个盘子里,允许有的盘子空着不放,那么总共有多少种不同的分法呢? 04 算法建模 设f[m,n]表示M个苹果刚好分成N堆的方法数,那最终要求的就是f[m,1]+f[m,2]+...+f[m,n]。 这是一个递推关系,那肯定得有边界,不然从何推起呢?

    1.5K60发布于 2021-07-30
  • 来自专栏后端技术探索

    几道趣味算法面试题

    几道常见趣味算法面试题 1.1 绳子计时问题 1.2 两座岛运输加锁问题 1.3 马比赛问题 1.4 高楼逃生问题 1.5 对单链表排序,用代码实现 1.6 快速找到未知长度的单链表的中间节点 几道常见趣味算法面试题 1.1 绳子计时问题 阿里曾面过这道题目,有若干根相同的不均匀的绳子,烧完一根绳子的时间是1小时,问如何计时1小时15分钟? (百度2008年面试题) 答案:每匹马都至少要有一次参赛的机会,所以25匹马分成5组,一开始的这5场比赛是免不了的。接下来要找冠军也很容易,每一组的冠军在一起赛一场就行了(第6场)。 1.4 高楼逃生问题 阿里面试题。如你被困在一幢200米高的大楼的楼顶。你手里有一根150米长的绳子和一把瑞士军刀。你所站的地方有一个铁钩子。 就这样从2010年到今天,刷了7年算法和数据结构的面试题。刚开始其实只是为了找工作才开始刷题,但是半年之后就变成了兴趣。 刚开始刷题的过程中很不顺利,因为很多算法和数据结构,教材也不会讲。

    2.3K41发布于 2018-09-18
  • 来自专栏小闫笔记

    python技术面试题(十五)--算法

    算法 1. 算法的五大特性 输入:算法具有0个或多个输入。 输出:算法至少有一个输出。 有穷性:算法在有限的步骤之后会自动结束而不会无限循环,并且每一个步骤可以在可接受的时间内完成。 确定性:算法中的每一步都有确定的含义,不会出现二义性。 可行性:算法的每一步都是可行的,也就是说每一步都能够执行有限次数完成。 2. 也称缩小增量排序,是直接插入排序算法的一种更高效的改进版本。希尔排序是非稳定排序算法。该方法因 DL.Shell于1959年提出而得名。 将数组转换成表是为了更好地理解这算法算法本身还是使用数组进行排序。 优质文章推荐: 公众号使用指南 redis操作命令总结 前端中那些让你头疼的英文单词 Flask框架重点知识总结回顾 项目重点知识点详解 难点理解&面试题问答 flask框架中的一些常见问题

    78930发布于 2019-07-18
  • 来自专栏全栈程序员必看

    图像处理算法 面试题

    所以,通常的分割算法都是把Laplacian算子和平滑算子结合起来生成一个新的模板。拉普拉斯算子也是最简单的各向同性微分算子,具有旋转不变性。一个二维图像函数的拉普拉斯变换是各向同性的二阶导数。 Laplacian of Gaussian(LoG)算子 利用图像强度二阶导数的零交叉点来求边缘点的算法对噪声十分敏感,所以,希望在边缘增强前滤除噪声.为此,将高斯滤波和拉普拉斯边缘检测结合在一起,形成 LoG(Laplacian of Gaussian, LoG)算法,也称之为拉普拉斯高斯算法.LoG边缘检测器的基本特征是: 平滑滤波器是高斯滤波器.增强步骤采用二阶导数(二维拉普拉斯函数).边缘检测判据是二阶导数零交叉点并对应一阶导数的较大峰值 AdBoost是一个广泛使用的BOOSTING算法,其中训练集上依次训练弱分类器,每次下一个弱分类器是在训练样本的不同权重集合上训练。权重是由每个样本分类的难度确定的。 常用的图像分割算法。 写一个图像resize函数(放大和缩小)。 彩色图像、灰度图像、二值图像和索引图像区别?(索引图像到底是啥?) 深度学习中目标检测的常用方法,异同。

    1.1K30编辑于 2022-08-30
  • 来自专栏友儿

    PHP经典算法面试题列表

    right_array); //合并 return array_merge($left_array, array($base_num), $right_array); } 6、二分查找算法 (折半查找算法) function binsearch($x,$a){ $c=count($a); $lower=0; $high=$c-1; while($lower< lower=$middle+1; } else{ return $middle; } } return false; } 7、PHP奇异算法 > 20、写出一种排序算法(要写出代码),并说出优化它的方法。 <? > 21 洗牌算法 <?

    1.2K20编辑于 2022-09-11
  • 来自专栏互联网杂技

    有趣的算法、逻辑面试题

    (百度2008年面试题) 每匹马都至少要有一次参赛的机会,所以25匹马分成5组,一开始的这5场比赛是免不了的。接下来要找冠军也很容易,每一组的冠军在一起赛一场就行了(第6场)。

    1.1K60发布于 2018-04-02
  • 来自专栏爪哇缪斯

    面试题28:GC算法——标记压缩&分代算法

    【标记压缩算法】 标记压缩算法如下图所示: 由于老年代的对象存活率很高,不容易被消亡,而复制算法不仅存在空间浪费,而且当老年代对象很多的时候,复制对象的效率会非常的低,所以,基于老年代的特性 ,产生了标记压缩算法。 它在标记清除算法的基础上做了优化,和标记清除算法一样,也是首先需要从根节点开始,对所有可达对象做一次标记。 ---- 【分代算法】 分代算法如下图所示: 当前jvm的垃圾回收,都是采用分代收集算法 针对新生代由于GC都有大量对象死去被回收,少数存量对象,只需要复制少量对象,就可以完全清除S0/S1的垃圾对象空间 所以采用“复制算法”更为合适; 而老年代对象存活率高,每次GC只清除少部分对象,所以采用“标记-清除”和“标记-压缩”算法来回收。

    23510编辑于 2023-05-09
  • 来自专栏全栈程序员必看

    PHP常见面试题_php算法面试题及答案

    PHP中类的继承属于单继承,一个子类只能继承一个父类。可见性为public protected的属性和方法可以被继承。 继承的方法或属性可以被重写,可见性越来越大。

    1.6K20编辑于 2022-09-25
  • 来自专栏全栈程序员必看

    App测试面试题_软件测试算法面试题汇总

    https://blog.csdn.net/weixin_45912307/article/details/109501092 1. Web 端测试和 App 端测试有何不同(常见)

    1K21编辑于 2022-09-27
  • 来自专栏艾编程

    JVM垃圾算法和GC三算法面试题分享

    堆内存调优简介 二、GC三算法 1、 GC算法总体概述 JVM在进GC时,并每次都对上三个内存区域起回收的,部分时候回收的都是指新代。 2、 复制算法:MinorGC(普通GC) 新代使的MinorGC,这种GC算法采的是复制算法(Copying),频繁使 复制-->清空-->互换 1 )原理 MinorGC会把Eden中的所有或的对象都移到 因为年轻代中的对象基本都是朝夕死(80%以上),所以在年轻代的垃圾回收算法使的是复制算法,复制算法的基本思想就是将内存分为两块,每次只其中块,当这块内存完就将活着的对象复制到另外块上。 复制算法不会产内存碎。 ==复制要交换,谁空谁是to== 3 )劣势 复制算法弥补了标记清除算法中,内存布局混乱的缺点。 1. 浪费了半的内存,太要命了 2. 从效率上说,效率要低于复制算法 4 、总结 内存效率:复制算法>标记清除算法>标记整理算法 内存整度:复制算法=标记整理算法>标记清除算法 内存利率:标记整理算法=标记清除算法>复制算法 分代收集算法

    73830发布于 2020-06-12
  • 来自专栏编程微刊

    JavaScript经典面试题之简单算法

    答案: /* 其实这道题就是非常常用的广度优先搜索算法,这种题目一般用一个队列 * 来把从广度上属于同一个层级的节点进行存储,然后再逐层访问。

    19000编辑于 2025-05-18
  • 来自专栏码农帮派

    LeetCode算法面试题汇总-开始之前

    range filter { if value >= size { return key } } return -1 } 搜索二维矩阵 II [题目] 编写一个高效的算法来搜索

    38410发布于 2021-01-12
  • 来自专栏友儿

    php面试题-算法题总结篇

    j]=$arr[$j+$gap]; $arr[$j+$gap]=$temp; } } } } 6、二分查找 /** 二分算法查找

    60510编辑于 2022-09-11
领券