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

    前端leetcde算法面试套路之回溯5

    属于一种暴力解题的思路;实际上也是如此,当我们在遇到一些分类讨论的问题,无法想到比较精妙的解决方案,我们第一时间考虑到的就是暴力枚举所有情况,然后再做处理,而 回溯 就是这样的一个暴力法下一个 tab 学习一下常规的排序算法吧正文在做回溯题

    54270编辑于 2023-01-09
  • 来自专栏前端小而全的知识归纳

    JS面试之数据结构与算法 (5)

    序列文章 JS面试之函数(1) JS面试之对象(2) JS面试之数组的几个不low操作(3) JS面试之http0.9~3.0对比分析(4) 前言 数据结构是计算机存储、组织数据的方式,算法是系统描述解决问题的策略 了解基本的数据结构和算法可以提高代码的性能和质量。 也是程序猿进阶的一个重要技能。 / 实例化一个栈 const stack = new Stack(); console.log(stack.isEmpty); // true // 添加元素 stack.push(5) } } const tree = new BinarySearchTree(); tree.insert(11); tree.insert(7); tree.insert(5) num - 1) + fibonacci(num - 2) } 2.3 动态规划 特点:通过全局规划,将大问题分割成小问题来取最优解 案例:最少硬币找零 美国有以下面额(硬币):d1=1, d2=5,

    1.1K20发布于 2019-04-17
  • 来自专栏js刷leetcode

    前端leetcde算法面试套路之堆5失败

    this.data[0]-- } this.down(1) return temp }}const ret = kthSmallest([[1,5,9 ; this.data[0]--; this.down(1); return item; }}console.log(rearrangeBarcodes([7, 7, 7, 8, 5, 7, 5, 5, 5, 8]));

    26030编辑于 2023-01-09
  • 来自专栏HelloCode开发者学习平台

    BAT面试算法进阶(5)- 最长回文子串

    这是你坚持的第5天咯.难度慢慢升级! 坚持就是胜利哦~~~~ 一.算法题 题目 Given a string s, find the longest palindromic substring in s. Example2: Input: "cbbd" Output: "bb" 二.算法题解读 题目大意:给定一个字符串S,找出S串中最长的回文子串.你可以假设s的最大长度为1000. ,P[i,j] <-- (p[i+1,j-1] 和 (Si = Sj); 六.复杂度 时间复杂度:O(N*N) 空间复杂度:O(N*N) 七.代码 C Code 八.学习建议 尝试画图->阅读代码 算法并不是

    23720编辑于 2023-03-23
  • 来自专栏iOS面试

    iOS 面试策略之算法基础4-5

    5. 排序和搜索 前几节中,我们主要探讨了数据结构:比如数组、链表、队列、树。这些数据结构都是了解 Swift 和算法的基础。从今以后的文章,我们将更多的关注于通用算法,这次我们就来聊聊排序和搜索。 排序算法一中,这两个元素位置与原数组相同,故称其为稳定算法。而排序算法二则是不稳定算法。 比如有一个会议的时间为 3 点到 5 点,另一个会议时间为 4 点到 6 点,那么合并之后的会议时间为 3 点到6点 解决算法题目第一步永远是把具体问题抽象化。 举个例子:[1, 3, 5, 6, 4, 7, 2, 3]。这里我们可以发现1, 3和2, 3可以归并为1, 3,5, 6和4, 7可以归并为4, 7。 举个例子:一个产品假如有 5 个版本,1,2,3 版都是好的,但是第 4 版崩溃了,那么第 5 个版本(最新版本)一定也崩溃。第 4 版则被称为第一个崩溃的版本。

    1.1K60发布于 2021-04-20
  • 来自专栏前端面试

    React面试:谈谈虚拟DOM,Diff算法与Key机制5

    这种算法称作Diff算法。这个算法问题有一些通用的解决方案,即生成将一棵树转换成另一棵树的最小操作数。 然而,即使在最前沿的算法中,该算法的复杂程度为 O(n 3 ),其中 n 是树中元素的数量。 如果在 React 中使用了该算法,那么展示 1000 个元素所需要执行的计算量将在十亿的量级范围。这个开销实在是太过高昂。 前端进阶面试题详细解答React diff算法大致执行过程:Diff算法会对新旧两棵树做深度优先遍历,避免对两棵树做完全比较,因此算法复杂度可以达到O(n)。 (5)key使用注意事项:如果遍历的列表子节是作为纯展示,而不涉及到列表元素顺序的动态变更,那使用index作为key还是没有问题的。 说明没发生过移动操作,此时diff算法会对对应的节点进行销毁并重新创建。

    1.7K50编辑于 2023-01-09
  • 来自专栏芋道源码1024

    算法面试之-如何准备算法面试

    主要介绍算法面试的一些问题、以及如何准备算法面试 算法面试不仅仅是正确的回答问题 对于面试中遇到的大多数问题,都能有一个合理的思考路径 什么是算法面试? 基础算法:深度优先、广度优先、二分查找、递归… 基本算法思想:递归、分治、回溯搜索、贪心、动态规划… 例子 Intel的面试题: 初始序列为1 8 6 2 5 4 7 3的一组数采用堆排序,当建堆(小根堆 乐视的面试题: 对一个含有20个元素的有序数组做二分查找,数组起始下标为1,则查找A[2]的比较序列的下标为() A. 9、5、4、2 B. 10、5、3、2 C. 9、6、2 D. 20、10、5、3 阿里巴巴面试题 一组记录排序码为(5、11、7、2、3、17),则利用堆排序方法建立的初始堆为() A. (11、5、7、2、3、17) B. (11、5、7、2、17、3) C. (17、11、7、2 、3、5) D. (17、11、7、5、3、2) E. (17、7、11、3、5、2) F. (17、7、11、3、2、5) 百度面试题 在图采用邻接表存储时,求最小生成树的Prim算法的时间复杂度为(

    1.4K30发布于 2018-10-25
  • 来自专栏JavaEdge

    玩转算法面试(一)1算法面试意义234 优化算法

    1算法面试意义 否则就是普通快排即可 插入排序更佳 2 3 4 优化算法

    34620发布于 2018-08-22
  • 来自专栏iOS开发干货分享

    BAT面试算法进阶(5)- 最长回文子串(方法一)

    算法题 题目 Given a string s, find the longest palindromic substring in s. 算法面试系列文章: BAT面试算法进阶(1)--两数之和 BAT面试算法进阶(2)- 无重复字符的最长子串(暴力法) BAT面试算法进阶(3)- 无重复字符的最长子串(滑动窗口法) BAT面试算法进阶 (4)- 无重复字符的最长子串(滑动法优化+ASCII码法) BAT面试算法进阶(6)- BAT面试算法进阶(6)-最长回文子串(方法二) BAT面试算法进阶(7)- 反转整数 BAT面试算法进阶(8 )- 删除排序数组中的重复项 BAT面试算法进阶(9)- 三维形体投影面积 BAT面试算法进阶(10)- 最长的斐波那契子序列的长度(暴力法) BAT面试算法进阶(11)- 最长的斐波那契子序列的长度( 动态规划法) BAT面试算法进阶(12)- 环形链表(哈希表法)

    39520编辑于 2023-03-19
  • 来自专栏HelloCode开发者学习平台

    BAT面试算法进阶(5)- 最长回文子串(方法一)

    一.算法题 题目 Given a string s, find the longest palindromic substring in s. Example2: Input: "cbbd" Output: "bb" 二.算法题解读 题目大意:给定一个字符串S,找出S串中最长的回文子串.你可以假设s的最大长度为1000. ] <-- (p[i+1,j-1] 和 Si = Sj); 六.复杂度 时间复杂度:O(N*N) 空间复杂度:O(N*N) 七.代码 C Code 八.学习建议 尝试画图->阅读代码 算法并不是

    28810编辑于 2023-03-23
  • 来自专栏修也的进阶日记

    算法手记5

    12000编辑于 2025-03-17
  • 来自专栏京程一灯

    算法面试指南

    算法是技术面试的重要组成部分,尤其是在国内外的大厂中。本文将为你介绍在面试中需要了解的常见算法以及提高它们效率的方法(这是面试中常见的问题),最后会为你提供一些练习题。 在面试中,可能不会要求你直接计算算法的复杂度,但可能会要求你计算所编写的算法的复杂度或让你改善一个算法的复杂度。 复杂度是算法效率的近似度量,并且与你编写的每个算法都相有关。 花时间学习这些,因为你很有可能会在面试中用到其中一种或多种算法。 图算法:实现一个函数,该函数返回给定级别的无向图的节点数。 贪心算法:假设存在无限数量的 25 美分,10 美分,5 美分和 1 美分硬币,实现一个函数来计算代表 V 美分的硬币数量。 总结 如果你要进行技术面试,必须为展示自己对各种算法的了解做好准备,并了解每种算法的复杂度。

    74120发布于 2020-05-11
  • 来自专栏互联网大杂烩

    算法面试

    面试的是BAT中某家的算法岗 1.快速排序 快速排序由于排序效率在同为O(N*logN)的几种排序方法中效率较高,因此经常被采用,再加上快速排序思想----分治法也确实实用,因此很多软件公司的笔试面试5.介绍BP神经网络的原理?以及Loss函数? 3.讲一下K-means算法? 4.随机森林 5.灰色模型

    42920发布于 2018-08-22
  • 来自专栏Java帮帮-微信公众号-技术文章全总结

    Java面试系列5

    String类是final类故不可以继承。 二、面向对象的特征有哪些方面 1.抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,

    70450发布于 2018-03-19
  • 来自专栏JAVA开发专栏

    软件设计师算法--常见算法,常见面试算法,经典面试算法

    ​ 目录介绍一、排序简介 二、冒泡排序法 三、选择排序 四、插入排序 五、希尔排序 六、归并排序 七、快速排序 --------介绍最新准备考试软件设计师,需要专门学习一下算法的基础,以及常见算法学习 ,特意写了这篇博客,所有算法都已在IDEA上面调试过了,没有问题。 二、冒泡排序法 算法思路: 1、比较相邻的元素。 ; 4、重复步骤3,直到找到已排序的元素小于或者等于新元素的位置; 5、将新元素插入到该位置后; 6、重复步骤2~5。 ​ (String[] args) { int[] nums = { 2, 7, 8, 3, 1, 6, 9, 0, 5, 4 , 9 , 19 ,12,16,14,12,22,33 };

    88361编辑于 2022-11-21
  • 来自专栏JAVA开发专栏

    软件设计师算法--常见算法,常见面试算法,经典面试算法

    ---- 介绍 最新准备考试软件设计师,需要专门学习一下算法的基础,以及常见算法学习,特意写了这篇博客,所有算法都已在IDEA上面调试过了,没有问题。 二、冒泡排序法 算法思路: 1、比较相邻的元素。 ; 4、重复步骤3,直到找到已排序的元素小于或者等于新元素的位置; 5、将新元素插入到该位置后; 6、重复步骤2~5。 仅增量因子为1 时,整个序列作为一个表来处理,表长度即为整个序列的长度 编辑 六、归并排序 算法思路: 该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。 void main(String[] args) { int[] nums = { 2, 7, 8, 3, 1, 6, 9, 0, 5, 4 , 9 , 19 ,12,16,14,12,22,33

    37310编辑于 2023-07-15
  • 来自专栏AI算法与图像处理

    基于深度学习的目标检测算法面试必备(RCNN~YOLOv5

    目标检测算法主要包括:【两阶段】目标检测算法、【多阶段】目标检测算法、【单阶段】目标检测算法 什么是两阶段目标检测算法,与单阶段目标检测有什么区别? 与单阶段目标检测算法的区别:通过联合解码同时获取候选区域、类别 什么是多阶段目标检测算法? 【两阶段】和【多阶段】目标检测算法统称级联目标检测算法,【多阶段】目标检测算法通过多次重复进行步骤:1)候选区域的获取,2)候选区域分类和回归,反复修正候选区域 ? SSD 主要考虑问题 1、准确性 2、实时性 3、多尺度 4、标签方案 5、目标重叠 6、模型训练 7、重复编码 8、数据增强 9、样本不平衡 两阶段目标检测算法 RCNN 1、模型通过【选择性搜索算法 YOLOv5 为了进一步提升YOLOv4的检测速度,YOLOv5采用了更轻量的网络结构 主要优点 1、多尺度:使用FPN增强特征提取网络代替PAN,使模型更简单,速度更快 2、目标重叠:使用四舍五入的方法进行临近位置查找

    4.2K40发布于 2021-05-07
  • 来自专栏全栈程序员必看

    Java 面试算法

    排序算法   名词解释: n: 数据规模 k: “桶”的个数 In-place: 占用常数内存,不占用额外内存 Out-place: 占用额外内存 快排的Partition函数与归并的Merge函数

    36030编辑于 2022-09-09
  • 来自专栏大数据学习笔记

    面试算法

    System.out.println(replaceSpace(sb)); System.out.println(replaceSpace2(sb)); } } 3、单链表逆序的递归算法 7 7 6 5 4 3 2 1 1 2 3 4 5 6 7 4、重建二叉树 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。 例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。 3 5 6 8 5、用两个栈实现队列 用两个栈来实现一个队列,完成队列的Push和Pop操作。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。

    2.5K71发布于 2018-01-02
  • 来自专栏高级前端工程师学习必备

    搞定大厂算法面试之leetcode精讲5.二分查找

    搞定大厂算法面试之leetcode精讲5.二分查找 视频教程(高效学习):点击学习 目录: 1.开篇介绍 2.时间空间复杂度 3.动态规划 4.贪心 5.二分查找 6.深度优先&广度优先 7.双指针 8.滑动窗口 9.位运算 10.递归&分治 11剪枝&回溯 12.堆 13.单调栈 14.排序算法 15.链表 16.set&map 17.栈 18.队列 19.数组 20.字符串 21.树 22.字典树 在排序数组中查找元素的第一个和最后一个位置 (medium) 方法1:先二分,在寻找左右边界 思路:二分查找,然后向左和向右尝试找相同的元素 复杂度:时间复杂度O(n),空间复杂度O(1) js: //nums = [5,7,7,8,8,10 return ans; } } 方法2:改造二分法 思路:改造二分,寻找目标值的开始和结束位置 复杂度:时间复杂度O(logn),空间复杂度O(1) js: //nums = [5,7,7,8,8,10

    50010发布于 2021-11-24
领券