[失业前端恶补算法]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)…...

【人工智能】神经网络的优化器optimizer(二):Adagrad自适应学习率优化器
一.自适应梯度算法Adagrad概述 Adagrad(Adaptive Gradient Algorithm)是一种自适应学习率的优化算法,由Duchi等人在2011年提出。其核心思想是针对不同参数自动调整学习率,适合处理稀疏数据和不同参数梯度差异较大的场景。Adagrad通…...

PPT|230页| 制造集团企业供应链端到端的数字化解决方案:从需求到结算的全链路业务闭环构建
制造业采购供应链管理是企业运营的核心环节,供应链协同管理在供应链上下游企业之间建立紧密的合作关系,通过信息共享、资源整合、业务协同等方式,实现供应链的全面管理和优化,提高供应链的效率和透明度,降低供应链的成…...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个生活电费的缴纳和查询小程序
一、项目初始化与配置 1. 创建项目 ohpm init harmony/utility-payment-app 2. 配置权限 // module.json5 {"requestPermissions": [{"name": "ohos.permission.INTERNET"},{"name": "ohos.permission.GET_NETWORK_INFO"…...
【RockeMQ】第2节|RocketMQ快速实战以及核⼼概念详解(二)
升级Dledger高可用集群 一、主从架构的不足与Dledger的定位 主从架构缺陷 数据备份依赖Slave节点,但无自动故障转移能力,Master宕机后需人工切换,期间消息可能无法读取。Slave仅存储数据,无法主动升级为Master响应请求ÿ…...

C/C++ 中附加包含目录、附加库目录与附加依赖项详解
在 C/C 编程的编译和链接过程中,附加包含目录、附加库目录和附加依赖项是三个至关重要的设置,它们相互配合,确保程序能够正确引用外部资源并顺利构建。虽然在学习过程中,这些概念容易让人混淆,但深入理解它们的作用和联…...

解析奥地利 XARION激光超声检测系统:无膜光学麦克风 + 无耦合剂的技术协同优势及多元应用
在工业制造领域,无损检测(NDT)的精度与效率直接影响产品质量与生产安全。奥地利 XARION开发的激光超声精密检测系统,以非接触式光学麦克风技术为核心,打破传统检测瓶颈,为半导体、航空航天、汽车制造等行业提供了高灵敏…...

从“安全密码”到测试体系:Gitee Test 赋能关键领域软件质量保障
关键领域软件测试的"安全密码":Gitee Test如何破解行业痛点 在数字化浪潮席卷全球的今天,软件系统已成为国家关键领域的"神经中枢"。从国防军工到能源电力,从金融交易到交通管控,这些关乎国计民生的关键领域…...
上位机开发过程中的设计模式体会(1):工厂方法模式、单例模式和生成器模式
简介 在我的 QT/C 开发工作中,合理运用设计模式极大地提高了代码的可维护性和可扩展性。本文将分享我在实际项目中应用的三种创造型模式:工厂方法模式、单例模式和生成器模式。 1. 工厂模式 (Factory Pattern) 应用场景 在我的 QT 项目中曾经有一个需…...

WebRTC调研
WebRTC是什么,为什么,如何使用 WebRTC有什么优势 WebRTC Architecture Amazon KVS WebRTC 其它厂商WebRTC 海康门禁WebRTC 海康门禁其他界面整理 威视通WebRTC 局域网 Google浏览器 Microsoft Edge 公网 RTSP RTMP NVR ONVIF SIP SRT WebRTC协…...

aardio 自动识别验证码输入
技术尝试 上周在发学习日志时有网友提议“在网页上识别验证码”,于是尝试整合图像识别与网页自动化技术,完成了这套模拟登录流程。核心思路是:截图验证码→OCR识别→自动填充表单→提交并验证结果。 代码在这里 import soImage; import we…...