[失业前端恶补算法]JavaScript leetcode刷题top100(一)
专栏声明:只求用最简单的,容易理解的方法通过,不求优化,不喜勿喷
今天更新五个 easy 难度题目:
两数之和
- 题面
给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。 - 知识点:
哈希表 - 思路
遍历整个数组,对于每个值,如果 target - x 已经出现过,那么返回这组解,否则就把这个当前值存到哈希表中,使用 [ 值:下标 ] 的形式进行存储 - 代码
var twoSum = function (nums, target) {let hash = {};for (var i = 0; i < nums.length; i++) {if(typeof hash[target - nums[i]] !== 'undefined'){return [hash[target - nums[i]],i];}hash[nums[i]] = i;}};
有效的括号
- 题面
给定一个只包括 ‘(’,‘)’,‘{’,‘}’,‘[’,‘]’ 的字符串 s ,判断字符串是否有效。
有效字符串需满足:
左括号必须用相同类型的右括号闭合。
左括号必须以正确的顺序闭合。
每个右括号都有一个对应的相同类型的左括号。 - 知识点
栈 - 思路
遇到左一半的括号就压入栈中,遇到右一半的括号就判定栈顶元素是不是匹配,匹配就抛出栈顶元素,根据根据栈中有没有剩余没有匹配的元素判定是不是匹配 - 代码
var isValid = function (s) {let stack = [];for (var i = 0; i < s.length; i++) {if(s[i] == ')' && stack[stack.length-1] == '('){stack.pop();}else if(s[i] == '}' && stack[stack.length-1] == '{'){stack.pop();}else if(s[i] == ']' && stack[stack.length-1] == '['){stack.pop();}else{stack.push(s[i]);}}return stack.length == 0;
};
合并两个有序链表
- 题面
将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 - 知识点
链表操作 - 思路
新建一个链表作为返回需要,两个链表从头开始遍历,如果每次将两个链表当前值较大的一个放到新链表中,之后放入新链表的那一链表指向下一个值,直到一个链表全部遍历完成,之后将还没有操作完毕的链表链接在新链表的尾部。 - 代码
var mergeTwoLists = function (list1, list2) {var a = new ListNode(0, null);b = a;while (list1 != null && list2 != null) {if (list1.val < list2.val) {a.next = list1;a = a.next;list1 = list1.next;} else {a.next = list2;a = a.next;list2 = list2.next;}}if( list1 ){a.next = list1}else if( list2 ){a.next = list2}return b.next;
};
爬楼梯
- 题面
假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? - 知识点
动态规划 - 思路
对于每一步,他可能从 n-1 到来,或者从 n-2 到来,所以第 n 步的可能方案是第 n-1 和第 n-2 的方案数的和,从 2 开始遍历到 n 步即可 - 代码
var climbStairs = function (n) {let dp = [1, 1];for (var i = 2; i <= n; i++) {dp[i] = dp[i - 1] + dp[i - 2];}return dp[n];
};
二叉树的中序遍历
- 题面
给定一个二叉树的根节点 root ,返回 它的 中序 遍历 。 - 知识点
二叉树,中序遍历 - 思路
dfs 实现中序遍历,对于每一个节点,如果有左孩子就一直搜索左孩子,没有左孩子就输出节点内容,最后再搜索二叉树的右孩子 - 代码
var inorderTraversal = function (root) {let re = [];let dfs = (node) => {if (!node) {return;}if (node.left) {dfs(node.left);}re.push(node.val);if (node.right) {dfs(node.right);}}dfs(root);return re;
};
相关文章:
[失业前端恶补算法]JavaScript leetcode刷题top100(一)
专栏声明:只求用最简单的,容易理解的方法通过,不求优化,不喜勿喷 今天更新五个 easy 难度题目: 两数之和 题面 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的…...
HTTP协议
目录 一、HTTP协议 1.http 2.url url的组成: url的保留字符: 3.http协议格式编辑 ①http request ②http response 4.对request做出响应 5.GET与POST方法 ①GET ②POST 7.HTTP常见Header ①Content-Type:: 数据类型(text/html等)在上文…...
javafx学习教程
1.舞台,场景,布局,控件,回调 2.舞台:窗口,一个舞台一个窗口,舞台有舞台基础属性,舞台监听事件,做一些回调 3.fxml里面可以写 页面的布局,控件,然…...
百度百科创建词条教程合集分享,赶紧收藏起来
每一个企业、品牌、人物、产品想要提升自己的知名度,都要创建一个属于自己的百度百科词条,互联网时代,百度搜索引擎的地位是不可撼动的,每天都有上亿的用户在百度上搜索相关内容,百度百科词条在网络营销中占据着举足轻…...
镜像恒流源电路分析
在改进型差动放大器中,用恒流源取代射极电阻RE,既为差动放大电路设置了合适的静态工作电流,又大大增强了共模负反馈作用,使电路具有了更强的抑制共模信号的能力,且不需要很高的电源电压,所以,恒…...
奥威软件宏昊化工启动BI项目,打造智能制造标杆
近日,中国纺织行业领先企业宏昊化工有限公司成功启动了与奥威签订的BI项目,期望通过BI的建立进一步提升企业数字化经营能力和核心竞争力。 奥威bi数据分析软件 在全球经济形势不明朗,国内外市场竞争加剧叠加疫情反复的情况下,化工…...
GitHub访问问题与FastGithub下载及使用(详细篇)
前言 📜 “ 作者 久绊A ” 专注记录自己所整理的Java、web、sql等,IT技术干货、学习经验、面试资料、刷题记录,以及遇到的问题和解决方案,记录自己成长的点滴 目录 前言 FastGithub的介绍 FastGithub的下载 FastGithub的安装及…...
这个打上实时补丁的Linux内核,大家可以看一下
前言最近看到一个关于实时Linux内核的开源项目,是一个比较牛逼的公司发起的,想推荐给大家。Linux的实时性一直是被很多开发者诟病的,一个分时系统怎么能在工业领域发挥自己的长处呢,我认为研究Linux的实时性是非常有必要的&#x…...
三维形体的表面积
三维形体的表面积 在 N * N 的网格上,我们放置一些 1 * 1 * 1 的立方体。 每个值 v grid[i][j] 表示 v 个正方体叠放在对应单元格 (i, j) 上。 请你返回最终形体的表面积。 例子: 输入:[[2,1],[1,0]]输出:18 解题思路࿱…...
二维码数据压缩实践 | 使用python对二维码数据进行压缩 |不乱码,支持中文
当前二维码的应用越来越广泛,包括疫情时期的健康码也是应用二维码的典型案例,最近需要通过一张二维码显示较多文本数据,也就是对二维码数据进行压缩,使用CSDN搜索了半天居然没有能简单使用的代码,很多事例代码解决不了…...
C语言学习_DAY_3_基本数据类型_运算符与表达式【C语言学习笔记】
目录 I. 基本数据类型 II. 复杂的输出和输入语句编写 III. 运算符与表达式 III.I 算术运算符 III.II 关系运算符 III.III 逻辑运算符 III.IV 位运算符 III.V 三目运算符 III.VI 逗号运算符 高质量博主,点个关注不迷路🌸🌸dz…...
c++练习题(4)
题号:1 设int a3,b2;则a*b的结果是() A、2 B、7 C、3 D、8 题号:2 一个程序单位中不包括以下哪项() A、伪代码 B、函数 C、预处理指令 D、全局声明 题号:3 若a-14,…...
腾讯云 cos 字体在CDN上跨域处理
问题描述:项目中用到了字体的静态资源,把静态资源放到了腾讯云对象存储提供的 COS 上,同时启用它的CDN来加速。但是,调试的过程中发现报错:CSS加载字体跨域了,字体图标无法正常显示。 原因:字体…...
api是什么意思?又该如何使用呢?
一、应用程序编程接口 API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件的以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。 API全称 "…...
JavaScript------面向对象
目录 一、面向对象编程(OOP) 基本概念 二、类 1、语法 2、通过类创建对象 3、类的属性 4、类的方法 5、构造函数 三、面向对象的三个特点 1、封装 如何确保数据的安全(实现封装的方式): 2、继承 在子类中&a…...
charles+夜神模拟器抓包
1.资料地址: 链接:https://pan.baidu.com/s/1w9qYfFPJcduN4If50ICccw 提取码:a7xa2.安装charles 和夜神模拟器并配置参考地址: https://www.beierblog.com/archives/%E4%BA%B2%E6%B5%8B%E5%AE%8C%E5%85%A8%E5%8F%AF%E8%A1%8Ccharles%E6%8A%93%E5%8C%85%E…...
【STC15单片机】模拟I2C操作AT24C02数据读取【更新中】
目录 I2C时序结构 I2C代码 AT24C02代码(继承I2C底层代码) PCF8591 PCB上线的长短可能影响数据传输的时间,写I2C时序可能就要加一点延时 I2C时序结构 起始条件:SCL高电平期间,SDA从高电平切换到低电平终止条件&…...
Hadoop
Hadoop Hadoop1.x 2.x 3.x区别 Hadoop1.x组成:MapReduce负责计算和资源调度,HDFS负责数据存储,Common辅助工具。 Hadoop2.x组成:MapReduce负责计算,Yarn负责资源调度,HDFS负责数据存储,Commo…...
ArrayList源码+扩容机制分析
1. ArrayList 简介 ArrayList 的底层是数组队列,相当于动态数组。与 Java 中的数组相比,它的容量能动态增长。在添加大量元素前,应用程序可以使用ensureCapacity操作来增加 ArrayList 实例的容量。这可以减少递增式再分配的数量。 ArrayLis…...
数据库(第四次作业)
学生表:Student (Sno, Sname, Ssex , Sage, Sdept) 学号,姓名,性别,年龄,所在系 Sno为主键 课程表:Course (Cno, Cname,) 课程号,课程名 Cno为主键 学生选课表:SC (Sno, Cno, Score)…...
EF Core与SQLite实战:从零构建轻量级数据库应用
1. 为什么选择EF Core与SQLite这对黄金组合 如果你正在开发一个需要本地数据存储的移动应用或桌面小工具,SQLite绝对是你的首选数据库。这个只有几百KB的小家伙,不需要任何服务器配置,直接读写单个文件就能完成所有数据库操作。而EF Core作为…...
别再踩坑了!Win10下从零编译Mamba-SSM 2.2.2的保姆级避坑指南(含修改好的源码包)
Win10平台Mamba-SSM 2.2.2终极编译指南:避开90%开发者踩过的坑 在深度学习领域,Mamba-SSM因其高效的状态空间模型架构而备受关注。然而,当开发者们兴冲冲地想在Windows 10平台上搭建这一环境时,往往会遭遇各种"玄学报错"…...
硬件编译器工具链新手指南:从概念到实践
硬件编译器工具链新手指南:从概念到实践 【免费下载链接】circt Circuit IR Compilers and Tools 项目地址: https://gitcode.com/gh_mirrors/ci/circt 一、CIRCT核心价值解析 在硬件设计领域,你是否曾面临这些挑战:高级算法难以直接…...
TypeScript——模块解析
模块解析1、相对模块导入2、非相对模块导入3、模块解析策略4、模块解析策略之Classic4.1、解析相对模块导入4.2、解析非相对模块导入5、模块解析策略之Node5.1、解析相对模块导入5.2、解析非相对模块导入6、--baseUrl6.1、设置--baseUrl6.2、解析--baseUrl7、paths7.1、设置pat…...
STM32单片机电机PID控制技术详解
STM32单片机实现电机PID控制技术解析1. 项目概述PID控制算法作为经典控制理论的核心算法,在工业控制领域已有近百年的应用历史。在电机控制场景中,PID算法通过调节PWM占空比实现对电机转速或位置的精确控制。本项目基于STM32单片机平台,实现了…...
GPT-SoVITS语音克隆技术深度解析:从原理到实战的完整指南
GPT-SoVITS语音克隆技术深度解析:从原理到实战的完整指南 【免费下载链接】GPT-SoVITS 项目地址: https://gitcode.com/GitHub_Trending/gp/GPT-SoVITS 你是否曾幻想过,只需短短几秒钟的录音,就能让AI完美模仿任何人的声音࿱…...
FDS火灾动力学模拟器完整指南:从入门到精通建筑消防安全分析
FDS火灾动力学模拟器完整指南:从入门到精通建筑消防安全分析 【免费下载链接】fds Fire Dynamics Simulator 项目地址: https://gitcode.com/gh_mirrors/fd/fds 想要准确预测火灾中的烟雾扩散路径?需要科学评估建筑物的人员疏散时间?F…...
智能配置黑苹果终极指南:OpCore Simplify一键生成OpenCore EFI完整教程
智能配置黑苹果终极指南:OpCore Simplify一键生成OpenCore EFI完整教程 【免费下载链接】OpCore-Simplify A tool designed to simplify the creation of OpenCore EFI 项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify 还在为繁琐的黑苹果…...
鸿蒙ArkTS项目避坑指南:从零搭建外卖应用时,我踩过的那些‘坑’
鸿蒙ArkTS实战避坑手册:外卖应用开发中的12个致命陷阱 第一次在DevEco Studio里看到ArkTS的语法高亮时,我以为这不过是又一个前端框架的变种——直到我的外卖应用项目在模拟器上连续崩溃了七次。作为从Android原生开发转向鸿蒙的"老手"&#x…...
Claude模型选型指南:Opus/Sonnet/Haiku三大系列在真实项目中的性能价格对比
Claude模型选型实战:Opus/Sonnet/Haiku三大系列性能与成本深度评测 1. 企业级AI选型的核心考量 在构建商业AI解决方案时,技术决策者往往面临模型选型的复杂权衡。Anthropic推出的Opus、Sonnet和Haiku三大系列,分别针对不同规模和应用场景的…...
