当前位置: 首页 > news >正文

012复杂度07leetcode

视频地址:012复杂度07leetcode_哔哩哔哩_bilibili

网站叫做leetcode。那Linux我相信很多同学都听过这个网站,那这个网站干嘛用呢?这个网站是用于练习算法的一个好网站,那我们这个课程在讲解知识点过程中也会不断的去用到这个网站,所以同学们以后如果你想练习一下你的算法,你完全可以在这个网站上进行练习,这个网站上面有大量的这个算法题啊,那它这个网址呢有两个,一个叫利得扣.com,一个叫利得扣杠CN.com,那相信同学们也可以猜到这两个网站网站有什么区别,那这个呢是英文版的,这个是为我们中国人设计的,这个是中文版的,那我们上课呢呃就用这个,因为他们他们两个题目其实是差不多,呃只是英文版的可能题目非常多一点,但是那些题目多出来那些题目呢我们暂时来说用不上啊,所以我们直接用这个中文版呢就可以了。

好,我们来打开一下这个网站,就这个力的扣三,那为了上课给同学们演示力的扣相关东西呢,我特地注册了一个账号啊,然后我现在已经登录了,那我们想刷题怎么办呢?想再做一些算法题怎么办呢?这里有个题库,点一下题库,可以看到这里有非常非常多对吧?

那这里写着一共有852道算法题,那如果你想做针对性的练习,大家可以讲标签你看很多,比如说我想针对这个数对吧做一个练习,那这里有很多是吧,什么什么二叉树等等各种都有,如果你想练习一下这个栈,你就勾选这个栈,然后把这个树给去掉,对吧?

这些都是跟站相关的,而且这里也有难度对吧?比如简单的难度,然后中等的难度对吧?

但是实际上这个难度有时候并不是很准确啊,比如说它这里标的是中等的,其实有时候可能很简单,啊有时候他标的这个是简单的,有时候可能也不简单啊这个不好说,这个根据个人情况而定吧。

那么究竟这些题目啊哪些需要同学们去呃解决,这个我们后面讲课都会提到,比如说有些题目我建议你去做一下,我都会给你呃提一个建议,到时候我都会写在PPT里面,这个大家不用担心。

然后我们随便点进去一个吧,比如说我们点这个题目我们打开一下,那这个我们也打开一下,我们看一下这两道题目,先看这一道,那这一道你看它有问题的描述对吧?还给出一些事例,然后右边呢你就可以选择对应的编程语言来写代码,比如说你选择使用Java还是c加加等等都可以啊都可以,你你可以用你熟悉的编程语言来写,要写完之后呢这个时候你可以点击这个提交,把这个嗯答案给提交,一提交的话它就会怎么样呢?

就会告诉你你这个结果是正确还是失败,大家根据它的提示做就好了,好吧?

然后我们来试一下,比如说我点这个提交,我现在是什么都没写,你看一点提交的话,他就跟我说怎么样编译出错对吧?编译出错,那你如果你出过错,那我们点一下这个个人啊,我们点一下个人,然后我们看一下,你看这里就有,你看通过了提交什么意思啊?我提交了一次,但是零次通过说明刚刚那次提交不通过对吧?这里都会有记录的啊有记录。

那这里还有一个,这1005 1015道题目你一共解决多少道?那这里是零道说明一道都没有解决啊。那很多同学可能会想唉那有些人的这个主页里面,那这个解决题目次数越多,是不是代表这个人就越厉害呢?不是这样子的。

因为想想因为这些东西完全可以作弊,什么叫作弊呢?你思考一下那这个代码的话是不限时间,你随便写,你是完全可以去网上找到最优的解,要把这个代码粘进来,要一点提交,那这样你是不是可以保证你这里面怎么样哈每一道都是通过的对不对?

那这样其实没有意义嘛,所以这个公司很多公司面试招聘,他并不会去看你这个力的扣里面通过这个次数,因为这个是不准确的,你完全可以通过作弊对吧?

提高你的这个通过率,所以这个是没有什么参考意义。

那当然也没必要去作弊啊,因为大家用这个网站的目的是什么?目的是练习自己的算法能力,练习自己的数据结构的一个能力,对吧?

好,然后然后如如果你在上面去写这个代码,注意如果你在上面去写这个代码的话,同学们注意啊,如果你去上面去写这个代码的话,呃它是没有提示的啊,这不可能有提示,不可能像我们这个开发工具有提示,所以建议同学们怎么样呢?你把它的这个代码模板拷贝到你的开发工具上面来写,你开发工具这个写完以后呢,你再把这个代码拷贝到这里,然后再点提交就可以了,啊应该这样去做。

然后他有些题目这里有个评论看到吧?

有个评论,点一下评论。

评论里面有时候你可能会看到别人写的一些答案,也也就是说你可以参考一下别人是怎么实现的,学习一下别人怎么写的。当然有一些题目这个little它本来就有答案,比如说我们看一下这这一道什么棒球比赛这个啊,我们来看一下这个这个你会发现这里有个题解,这有个题解我们点一下,你看它这里就已经有答案了,说白了你完全可以把左边答案粘一下,要拷贝到右边要一点提交你就通过了,但是这个没有意义。

注意这个题解并不是每一道题目都有,你看刚刚的这个用栈来实现这个队列,那这个就没有吧,这个就没有题解,没有没有关系,如果你不会做,你可以看一下这个评论,看一下别人是怎么做的啊。

那么我们来看一下,那刚刚我们讲到这个斐波那契数列这个东西呢,它刚好上面就有一道有一道题目,来我们来解决一下那一道你可以在这里搜搜索,这个去掉,因为刚刚我点击了一个站的这个标签,那这样的标签里面是没有菲波纳契的,我得把它去掉,你看这有对吧?

有,但是这个好像都不是我想要的,我记得还有一道呃可能搜不到,因为我发现有时候搜索确实会有些结果没有出来,不过没有关系,我之前已经访问过了,所以应该是有记录。

Fifi唉就是这个我们看下这一道是第五百零九道,那这个我们看一下,你看这个就是他说的传一个0给你,返回零传一个一给你返回一,如果这个是大于一的,那就返回这个对吧?这个不就不是我们刚刚已经做过的吗?你看这里就有,那我们来解决一下吧,那这个怎么做啊?

那第一种做法大家想想第一种做法就是按照刚刚的呢对吧递归的,但是这种做法我们刚刚也也知道了,不行是吧?对不对?那怎么办?我们直接将我们代码拿过来嘛,我们已经做过一次了,那做过一次了,那我们就可以直接将这个东西钻过来,钻过来,然后放到我们这个位置,放到我们这个位置。

好,那正常来讲呢你就可以直接点击这个提交,但是你又不希望你一点提交的时候,他出错,你想先看一下有没有错再提交,因为你提交出错了。

你的这个刚刚那个本子上啊,刚刚那个记录上就会显示你有多少道出错,如果你不希望你的出错率比较高,你可以先点击执行代码,先尝试一下点一下,你看他说有错对吧?有错,错在什么地方呢?在这个位置那我们这个n应该写成大写对吧?

写成大写好了,这个时候我们再点一下执行代码。

好,你看没有问题,那这个就代表没有问题。

就是我们输出的结果是什么呢?是一它他c让我们输出也是一,如果我们输出跟他预期是一样的,那基本没什么问题,这个时候我们可以点一下提交,要稍等一下,这么慢我这个网速有问题啊,所以它这个运行中并不是说我运行我们代码要耗多少时间,我这个是网络有问题,你看编译时间对吧?

超长那说明就不是我们代码再提交。

好注意ok了,成功看到没有,成功他说我们这个代码呢怎么样?耗费时间0毫秒打败了百分百的用户,那说明我们这个代码性能是非常好的,但是这个也仅供参考这个也仅供参考并不是特别准,我觉得啊有时候并不是特别准,比如说有时候你很自信啊写得非常好的算法,唉但是一提交发现只打败了10%的用户是吧?

有有这种可能。

然后呢如果有时候你提交完以后呢,这里会显示呃打败多少用户,那其实你你就想唉如果打败了10%,那说明什么?说明还有90%的人比我好,那怎么办?这个时候我们点一下这个显示详情。

好,那这里我们就能看得到对吧?能看得到那些提交的时间,提交时间比较短的那些人,然后大家就可以去这个位置找,明白吧?这个位置找你看,执行时间为一毫秒的范例是什么?这样你就可以去学习唉别人的这个花费这么少的时间是怎么怎么办到的,你看这个是0毫秒是怎么写的是吧?这个是时间,时间啊越往左边时间越短,这个你可以自己去参考一下。

那再说一个问题,我们点一下这个位置,再点一下,那你看啊你看刚刚我们提交了三次,只有一次是通过,如果你觉得你的这个进展不好看对吧?放在这里不好看,那别人进了你的主页看起来好差劲的对吧?那这个提交三次只有一次才通过,你想重新再来那怎么办呢?

很简单,点一下这个位置,然后再点一下你的名字,我的档案,唉不对点错了,应该是点这个选择进度选择进度,然后你你你要先创建一个新的进度,比如说备课二点一下创建,那创建一个新的进度,你先选择用它点一下,好,你用了这个进度就意味着前面这个进度就给删掉了,我们点一下这个叉叉,一叉叉他就会问你你之前成功提交的次数有多少,我们之前通过的成功的提交其实只有一次,所以我们一他确认之后就谈到删除。

好删掉,那删掉之后再去你的这个主页点一下,那这里就是从0开始的,这个可以根据你自己的需要去自己去弄一下。

然后说到这个菲波纳切,我之前看到一个搞笑的东西啊,跟同学们分享一下什么东西呢?跟同学们分享一个搞笑的东西啊。

那斐波那契数列我们都知道它的给你一个n它其实求是什么?求的是前一个数跟前前一个数的和,对不对?然后我有一天我就在朋友圈看到一个东西,他说我是一个斐波那契程序员,为什么呢?因为我每天都在改昨天和前天的bug,那我觉得这句话挺搞笑的啊,就给同学们分享一下。

这也是有意思的跟菲博纳粹相关的一个东西,因为菲博纳粹数呢就是什么?它其实就是等于前一个数跟前前一个数的和对吧?那你是菲波纳粹程序员,那就是在每天在改昨天跟前天的bug啊,大家都是菲波纳粹程序员是吧?嗯哼。把它关了。

相关文章:

012复杂度07leetcode

视频地址:012复杂度07leetcode_哔哩哔哩_bilibili 网站叫做leetcode。那Linux我相信很多同学都听过这个网站,那这个网站干嘛用呢?这个网站是用于练习算法的一个好网站,那我们这个课程在讲解知识点过程中也会不断的去用到这个网站&#xff0c…...

4.网络编程

1、目的 传播交流信息TCP:打电话UDP:发短信 2、通信协议: httpTCP/IP簇:三次握手(aba),四次挥手(abba)https 3、IP与端口 1.IP地址类:InetAddress、InetSocketAddress InetAdd…...

OpenCV GUI常用函数详解

在OpenCV的High_level GUI模组中有很多GUI函数,下面介绍几个常用的函数。 图像显示窗口相关函数 生成图像显示窗口函数nameWindow() nameWindow()函数的原型如下: 函数用以创建一个给定名的图像显示窗口(后面简单叫做图像窗口)…...

Tuxera NTFS for Mac破解版下载 Tuxera NTFS for Mac2023激活码 mac电脑ntfs磁盘软件

Tuxera NTFS for Mac是一款优秀的Mac系统完全读写软件,提供Fat32、NTFS、Exfat、mac os扩展格式的转换,稳定性好,传输速度极快。Tuxera NTFS for Mac功能丰富,能修复NTFS卷、创建NTFS磁盘映像、创建NTFS分区等等。同时软件支持所有…...

oceanbase(ob)基于备份集搭建备租户方式

一、搭建备租户方式(基于备份的方式) 注意事项:要有一个源端OB集群和目标端OB集群。 1、新建主租户(如果原来有主租户可是省略) #创建unit create resource unit ut_2c2g max_cpu2, memory_size2G, max_iops10000,l…...

Javase复习day21算法、arrays、Lamdba表达式

常见算法 查找算法 基本查找 package search;public class BasicSearchDemo1 {public static void main(String[] args) {//基本算法(顺序查找)int[] arr {131,23,57,37,95,48,57,43};System.out.println(basicSearch(arr, 43));}public static boo…...

移动硬盘无法读取?别慌!这些方法助你恢复数据!

在我们的日常工作和生活中,移动硬盘作为重要的数据存储工具,承载着珍贵资料。然而,移动硬盘无法被电脑读取的情况时有发生,令人焦急。别慌,下面为大家详细介绍恢复移动硬盘数据的有效方法。 一、检查硬件连接和驱动问题…...

Java集合面试(上)

Java集合面试(上) 集合概述 Java 集合,也叫作容器,主要是由两大接口派生而来:一个是 Collection接口,主要用于存放单一元素;另一个是 Map 接口,主要用于存放键值对 说说List,Set,Queue&#…...

Python画笔案例-046 绘制小红伞

1、绘制小红伞 通过 python 的turtle 库绘制 小红伞,如下图: 2、实现代码 绘制 小红伞,以下为实现代码: """小红伞.py """ import turtledef draw_pattern():"""画填充圆弧"&…...

使用 .NET 6 构建跨平台 Worker Service 服务:跨越平台的 C# 服务开发——解决Windows服务跨平台问题

现代软件开发中,构建跨平台的应用程序变得愈加重要。C# 和 .NET 6 的出现使得在 Windows、Linux 和 macOS 上创建背景服务变得简单而高效。在本指南中,我们将通过创建一个使用 .NET 6 的 Worker Service 来展示如何实现跨平台后台服务。 项目概述 我们…...

terminator-gnome

gnome import os#启动节点指令变量 stere"ros2 launch stereo_c start.py" utils"ros2 launch task utils.launch.py" #tab标题 stere_title"stere_driver" utils_title"utils"#一个终端界面打开5个tab cmd1f"gnome-terminal --…...

7.测试用例设计方法 + Bug

一、正交实验法 1.使用场景 因果关系比较庞大的情况下,不太适合用因果图判定表,在这种情况下,一般会采用正交实验法。 2.例子: 字符属性设置(4个条件) 字体很多 字符样式很多 …...

uniapp小程序,使用腾讯地图获取定位

本篇文章分享一下在实际开发小程序时遇到的需要获取用户当前位置的问题,在小程序开发过程中经常使用到获取定位功能。uniapp官方也提供了相应的API供我们使用。 官网地址:uni.getLocation(OBJECT)) 官网获取位置的详细介绍这里就不再讲述了,大…...

Reactive 编程-Project Reactor

Reactive 编程与 Project Reactor Reactive 编程是一种编程范式,主要用于处理异步数据流。它旨在通过声明式的编程方式处理事件驱动的非阻塞任务,特别适合于构建响应式、可扩展、高并发的应用。随着互联网应用规模的扩大和响应速度的提升需求&#xff0…...

splice用法

天行健,君子以自强不息;地势坤,君子以厚德载物。 每个人都有惰性,但不断学习是好好生活的根本,共勉! 文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。…...

Redis - 缓存

文章目录 目录 文章目录 1. 什么是缓存? 2. 使用Redis作为缓存 2.1 关系型数据库的缺点 3. 缓存的更新策略 3.1 定期生成 3.2 实时生成 缓存淘汰策略 4. 缓存预热, 缓存穿透, 缓存雪崩 和 缓存击穿 缓存预热 缓存穿透 缓存雪崩 缓存击穿 总结 1. 什么…...

基于SpringBoot+Vue的养老院管理系统

作者:计算机学姐 开发技术:SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等,“文末源码”。 专栏推荐:前后端分离项目源码、SpringBoot项目源码、SSM项目源码 系统展示 【2025最新】基于JavaSpringBootVueMySQL的…...

多线程爬虫接入代理IP:高效数据抓取的秘诀

在现代网络环境中,爬虫已经成为获取信息的利器。然而,随着网站反爬措施的不断升级,单线程爬虫往往无法满足需求。多线程爬虫与代理IP的结合,不仅能提高效率,还能有效规避IP封禁问题。本文将详细探讨多线程爬虫接入代理…...

[网络][CISCO]Cisco-PIX配置详解

Cisco PIX防火墙配置指南 任何企业安全策略的一个主要部分都是实现和维护防火墙,因此防火墙在网络安全的实现当中扮演着重要的角色。防火墙通常位于企业网络的边缘,使内部网络与Internet之间或与其他外部网络互相隔离,并限制网络互访&#x…...

拒绝千篇一律,AI帮你定制独一无二的个人写真

每个女人都渴望展现最美的自己,你是否厌倦了拍出千篇一律的照片?今天,我要告诉你一个秘密,用简单三步,即可打造属于你的独一无二个人写真!文生图、蒙版换脸、图生图,三步化身超级模特&#xff0…...

超短脉冲激光自聚焦效应

前言与目录 强激光引起自聚焦效应机理 超短脉冲激光在脆性材料内部加工时引起的自聚焦效应,这是一种非线性光学现象,主要涉及光学克尔效应和材料的非线性光学特性。 自聚焦效应可以产生局部的强光场,对材料产生非线性响应,可能…...

AtCoder 第409​场初级竞赛 A~E题解

A Conflict 【题目链接】 原题链接:A - Conflict 【考点】 枚举 【题目大意】 找到是否有两人都想要的物品。 【解析】 遍历两端字符串,只有在同时为 o 时输出 Yes 并结束程序,否则输出 No。 【难度】 GESP三级 【代码参考】 #i…...

蓝牙 BLE 扫描面试题大全(2):进阶面试题与实战演练

前文覆盖了 BLE 扫描的基础概念与经典问题蓝牙 BLE 扫描面试题大全(1):从基础到实战的深度解析-CSDN博客,但实际面试中,企业更关注候选人对复杂场景的应对能力(如多设备并发扫描、低功耗与高发现率的平衡)和前沿技术的…...

跨链模式:多链互操作架构与性能扩展方案

跨链模式:多链互操作架构与性能扩展方案 ——构建下一代区块链互联网的技术基石 一、跨链架构的核心范式演进 1. 分层协议栈:模块化解耦设计 现代跨链系统采用分层协议栈实现灵活扩展(H2Cross架构): 适配层&#xf…...

CMake 从 GitHub 下载第三方库并使用

有时我们希望直接使用 GitHub 上的开源库,而不想手动下载、编译和安装。 可以利用 CMake 提供的 FetchContent 模块来实现自动下载、构建和链接第三方库。 FetchContent 命令官方文档✅ 示例代码 我们将以 fmt 这个流行的格式化库为例,演示如何: 使用 FetchContent 从 GitH…...

laravel8+vue3.0+element-plus搭建方法

创建 laravel8 项目 composer create-project --prefer-dist laravel/laravel laravel8 8.* 安装 laravel/ui composer require laravel/ui 修改 package.json 文件 "devDependencies": {"vue/compiler-sfc": "^3.0.7","axios": …...

RabbitMQ入门4.1.0版本(基于java、SpringBoot操作)

RabbitMQ 一、RabbitMQ概述 RabbitMQ RabbitMQ最初由LShift和CohesiveFT于2007年开发,后来由Pivotal Software Inc.(现为VMware子公司)接管。RabbitMQ 是一个开源的消息代理和队列服务器,用 Erlang 语言编写。广泛应用于各种分布…...

RSS 2025|从说明书学习复杂机器人操作任务:NUS邵林团队提出全新机器人装配技能学习框架Manual2Skill

视觉语言模型(Vision-Language Models, VLMs),为真实环境中的机器人操作任务提供了极具潜力的解决方案。 尽管 VLMs 取得了显著进展,机器人仍难以胜任复杂的长时程任务(如家具装配),主要受限于人…...

CSS | transition 和 transform的用处和区别

省流总结: transform用于变换/变形,transition是动画控制器 transform 用来对元素进行变形,常见的操作如下,它是立即生效的样式变形属性。 旋转 rotate(角度deg)、平移 translateX(像素px)、缩放 scale(倍数)、倾斜 skewX(角度…...

GO协程(Goroutine)问题总结

在使用Go语言来编写代码时,遇到的一些问题总结一下 [参考文档]:https://www.topgoer.com/%E5%B9%B6%E5%8F%91%E7%BC%96%E7%A8%8B/goroutine.html 1. main()函数默认的Goroutine 场景再现: 今天在看到这个教程的时候,在自己的电…...