ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

瓶子君前端算法集训营第一期开营啦,免费哟

2021-05-17 19:53:38  阅读:203  来源: 互联网

标签:sisterAn 开营 前端 第一期 算法 数组 集训营 nums1 nums2


三道算法题:

第一题:图解 leetcode 刷题:合并两个有序数组

给你两个有序整数数组 nums1 和 nums2,请你将 nums2 合并到 nums1 中,使 num1 成为一个有序数组。

说明:

初始化 nums1 和 nums2 的元素数量分别为 m 和 n 。你可以假设 nums1 有足够的空间(空间大小大于或等于 m + n )来保存 nums2 中的元素。

示例:

输入:
nums1 = [1,2,3,0,0,0], m = 3
nums2 = [2,5,6],       n = 3

输出: [1,2,2,3,5,6]

答案:https://github.com/sisterAn/JavaScript-Algorithms/issues/3

第二题:腾讯算法题:数组扁平化、去重、排序

已知如下数组:var arr = [ [1, 2, 2], [3, 4, 5, 5], [6, 7, 8, 9, [11, 12, [12, 13, [14] ] ] ], 10];

编写一个程序将数组扁平化去并除其中重复部分数据,最终得到一个升序且不重复的数组

答案:https://github.com/sisterAn/JavaScript-Algorithms/issues/5

第三题:字节&leetcode:两数之和

给定一个整数数组 nums 和一个目标值 target ,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。

你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。

示例:

给定 nums = [2, 7, 11, 15], target = 9

因为 nums[0] + nums[1] = 2 + 7 = 9
所以返回 [0, 1]

答案:https://github.com/sisterAn/JavaScript-Algorithms/issues/4

为什么要学算法?

前端还要学算法?必须学,而且必须狠狠地学。现在去大厂面试,数据结构与算法已经是标配,要是不会的话,那基本与大厂无缘了。

作为一名前端,虽然在平常开发中很少写算法,但当我们需要深入前端框架、开发语言、开源库时,懂算法将大大提高我们看源码的能力。例如 :

  • virtual-dom diff 算法做了一些约定,后将原先 O(n3) 的时间复杂度降到了O(n) ,核心原理就是一个树的深度优先搜索
  • babel 这些就是一些编译原理的 parser 生成抽象语法树的知识,再将抽象语法树进行转换操作生成文件
  • 浏览器的 history,底层可以使用栈来实现
  • webpack 中利用 tree-shaking 优化
  • v8 中的调用栈、消息队列等等

这些就大量使用了算法,看懂了就能更好的了解它们的性能,更高效的解决问题,提升我们的代码质量与思维视野,进阶到更高 Level,赚更多钱。

所以说,学算法是每个前端进阶必备!

现在市面上的算法资料很多,但针对前端的算法资料少之又少,所以,这里我整理了一份适用于前端的数据结构与算法系列,希望能帮助你从0到1构建完整的数据结构与算法体系。

本系列预估一共有40多篇,现已经更新了前两篇。想要更多更快的学习本系列,可以关注公众号「前端瓶子君」和我的 Github(https://github.com/sisterAn/JavaScript-Algorithms),欢迎在 issus 上提出遇到的算法题,瓶子君会不定期解答。

标签:sisterAn,开营,前端,第一期,算法,数组,集训营,nums1,nums2
来源: https://blog.51cto.com/u_15127654/2781979

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有