算法从0到1
算法学习
小助手爱编程
每日分享编程项目源码案例、编程干货、技巧、一个集软件、资源、电脑技巧分享于一身的宝藏博主!Java,python领域优质创作者,全平台粉丝过万,专注于大学生项目实战开发,远程部署调试 运行安装
展开
-
String创建对象和内存结构的特点
String创建对象和内存结构的特点原创 2023-02-09 07:23:30 · 69 阅读 · 0 评论 -
Java数组删除元素,新增元素
数组删除元素,新增元素原创 2023-02-09 06:43:00 · 607 阅读 · 0 评论 -
VsCode 刷 LeetCode解决办法
点击上方蓝字关注我,阅读更多实用小技巧vscode搜索,下载插件leetcode登录网页版国际版LeetCode 地址如下:https://leetcode.com/如果没有使用过需要先注册账号,试过登录中国版的有时会不成功登录成功后按键盘F12,会弹出开发者模式,如下图,安装指示依次点击,就可以找到cookie 并复制,用于后面的vscode登录leetcode建议切换登录的地区为国外,中国版可能会登录不成功切换登录的方式为cookie,前面几种方式试过,由于系统问题登录不成功然后输入自己的账号名前面在浏原创 2021-11-15 20:15:34 · 2322 阅读 · 0 评论 -
快速判断时间复杂度和空间复杂度
喜欢就关注我吧,订阅更多算法小知识1.1时间复杂度O(1)代码只被执行一次O(n)for循环里的代码执行了n次O(1)+O(n)= O(n)当n足够大 ,1可以忽略不计O(n)*O(n)= O(n^2)如果存在嵌套就相乘O(logN)用于求2的多少次方为N1.2空间复杂度一个函数,用大O表示,比如O(1)、O(n)、O(n个2)......算法在运行过程中临时占用存储空间大小的量度O(1)单个变量所占的空间永远为1O(n)数组里面有n个值,占用了n个内存单元O(n^2)为矩阵即行列本质是一个嵌套的二维数组,原创 2021-11-13 19:26:40 · 3376 阅读 · 0 评论 -
移动零 Javascript 暴力解法(源码)
/** * @param {number[]} nums * @return {void} Do not return anything, modify nums in-place instead. */var moveZeroes = function (nums) { var i = 0; var j = 0; while (i < nums.length) { if (nums[i] != 0) { [n...原创 2021-08-19 17:56:40 · 164 阅读 · 0 评论 -
JavaScript双指针法--移除元素,并返回新长度(javascript 算法源码)
如题代码如下/**@param {number[]} nums@param {number} val@return {number}*/var removeElement = function(nums, val) {//使用双指针法 右指针指向要遍历的元素,左指针指向下一个要赋值的位置var arr = nums.length;//声明一个变量,存入数组长度var left = 0; //左指针为0var right =0;for (right=0; ..转载 2021-08-19 16:57:33 · 148 阅读 · 0 评论 -
使用JavaScript快慢指针的方法,删除排序数组中的重复项(算法源码)
如题代码如下图var removeDuplicates = function(nums) {var arr = nums.length; //声明一个数组,并存入数组长度if(arr===0){ //若数组nums 的长度为 0,则数组不包含任何元素,返回 0。return;}//当数组nums 的长度大于 0 时,数组中至少包含一个元素//在删除重复元素之后也至少剩下一个元素,因此从下标 1 开始删除重复元素。//使用快慢指针方法,fast和slow,fast:遍.转载 2021-08-19 16:45:50 · 128 阅读 · 0 评论 -
字节考了24次的高频面试题之 链表中倒数第k个节点 Javascript解法 +源码
如下题题解原创 2021-06-06 16:18:16 · 105 阅读 · 1 评论 -
亚马逊考了25次,字节考了24次的高频面试题 有效的括号 Javascript解法 +源码
如下题原创 2021-06-06 16:14:58 · 181 阅读 · 1 评论 -
零基础如何快速掌握算法与数据结构
1.多练习,多思考总结,这个应该懂得都懂。2.带着问题去思考,做到理论与实践相结合,二者缺一不可。3.遇到难的问题,不需要死磕到底,有些知识的理解需要时间的沉淀。4.由简单到复杂。5.最好分类刷题,不求多,但求精,会举一反三,总结规律。6.编程能力弱也可以学好数据结构。主要学习算法的设计思想和设计数据结构的理念。只有理解了问题的解决思路,之后使用任何编程语言都不会是个很大的问题。7.书写一定要规范,注意格式,这样在以后才能易于理解,至于编码规范可以借助插件(例如:Alibab原创 2021-05-21 17:55:14 · 686 阅读 · 1 评论 -
本人吐血整理的算法与数据结构入门级介绍
1.算法与数据结构是一门必修课。要想成为一名优秀的程序员,学好「算法与数据机构」对于 编写性能优良、可读性强 的工程代码和理解编程语言库函数的源代码都是很有帮助的。2.算法是解决问题的方法学习算法的目的之一是要 「高效地」解决问题。也是解决某些复杂问题的灵感来源。3.数据结构相当于一个容器可以存放数据,处理数据,使我们高效地完成任务。例如:「栈」是只能在一端操作的线性结构的容器;「队列」是只能在一端加入数据,并且只能在另一端移除...原创 2021-05-21 17:36:42 · 135 阅读 · 1 评论 -
字节跳动出现5次的算法题之 求 1+2+...+n ?(JavaScript解法)
字节跳动出现5次的算法题之 求 1+2+...+n JavaScript解法如下题:题解:/** * @param {number} n * @return {number} */var sumNums = function(n) { return n && n+ sumNums(n-1);};原创 2021-05-21 16:54:33 · 180 阅读 · 0 评论 -
字节跳动出现24次的算法题之 数组中重复的数字 JavaScript解法
剑指 Offer 之 数组中重复的数字 JavaScript解法如下题:解法:/** * @param {number[]} nums * @return {number} */var findRepeatNumber = function(nums) { let map = new Map();/**遍历nums*/ for(let i of nums){/**遍历如果数字存在于数组中就返回,如果不存在就添加数字*/ if (map.h...原创 2021-05-21 16:28:58 · 104 阅读 · 0 评论 -
算法之爬楼梯~JavaScript
/*** @param {number} n* @return {number}*/var climbStairs = function(n) {let p=0 ; q=0,r=1; for(let i=1; i<=n; ++i){ p=q; q=r; r=p+q;} return r;};作者:9qPagHx2sD链接:https://leetcode-cn.com/problems/climbing-s...原创 2021-05-16 22:55:37 · 143 阅读 · 0 评论 -
求两数之和~javascript解法
如下题:给定一个整数数组nums和一个整数目标值target,请你在该数组中找出和为目标值的那两个整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。参考解法:/*** @param {number[]} nums* @param {number} target* @return {number[]}*/var twoSum = functi...原创 2021-05-16 22:28:56 · 199 阅读 · 0 评论