- 博客(60)
- 资源 (13)
- 问答 (5)
- 收藏
- 关注
原创 leetcode力扣刷题系列——【找到连续赢 K 场比赛的第一位玩家】
玩家 0 和 1 进行一场比赛,玩家 0 的技能等级高于玩家 1 ,玩家 0 胜出,队列变为 [0,2,3,4,1]。玩家 0 和 2 进行一场比赛,玩家 2 的技能等级高于玩家 0 ,玩家 2 胜出,队列变为 [2,3,4,1,0]。玩家 0 和 1 进行一场比赛,玩家 1 的技能等级高于玩家 0 ,玩家 1 胜出,队列变为 [1,2,0]。玩家 1 和 0 进行一场比赛,玩家 1 的技能等级高于玩家 0 ,玩家 1 胜出,队列变为 [1,2,0]。一开始,队列里的玩家为 [0,1,2]。
2024-10-24 17:21:27 628
原创 leetcode力扣刷题系列——【构成整天的下标对数目 II】
我们要看提示啊,提示告诉了我么hours的长度不一致的,之前那个是100的长度,很小,所以并不影响我们用暴力的解法进行计算,但是这个就不一样了,这个他是500000的长度,太大了,o(n^2)的复杂度并不能满足我们的需求。今天的思路与官方的思路一致,我也就不在多赘述我的思路啦,我把官方的思路放到这里,然后把我的和官方的代码也附上给大家参考。注意,哈希表记录的是位于我们当前枚举的 hours[i] 左边的元素,也就是说我们是在枚举右边值的同时维护左边的元素。来源:力扣(LeetCode)
2024-10-23 18:22:39 329
原创 leetcode力扣刷题系列——【构成整天的下标对数目 I】
注意,枚举的方向可以从左往右,也可以从右往左,即对于每一个 hours[i],可以查看 j>i 或查看 j
2024-10-22 10:30:40 320 1
原创 leetcode力扣刷题系列——【最小元素和最大元素的最小平均值】
第一次采用的是for循环,这个题很简单,非常容易就能做出来,但是为什么我用了两个办法的,因为第一次提交的代码用时比较高,排名靠后,于是就想能不能用更快更高效的方法试一试,因此今天是两套方法。另给你一个包含 n 个整数的数组 nums,其中 n 为偶数。从 nums 中移除 最小 的元素 minElement 和 最大 的元素 maxElement。第二个采用的是while循环,不过我是现将它进行了排序,这样我认为会更快一点,事实结果也是如此。(nums[i]+nums[n−1−i])/2的最小值。
2024-10-16 11:52:15 499
原创 leetcode力扣刷题系列——【三角形的最大高度】
我的方法思路非常简单,我们既然要让他拼成一个三角形,且是每一行的颜色都不一样,那么第一行要么蓝色要么红色,只要确定了第一行的颜色,后面的就都确定了,我分别让红色、蓝色作为第一行,各自求出一个高度,然后我们在将两个高度进行比较后输出,就能得到最好的结果。我们可以递增地枚举三角形的高度,在第 i 行时,如果对应的颜色的剩余球数大于等于 i 个,那么就可以组成第 i 行,否则不能,三角形的最大高度为 i−1。官方的方法一跟我的方法很像,虽然我也不知道自己用的是枚举法,但是官方说是那我就是。
2024-10-15 11:40:43 467
原创 leetcode力扣刷题系列——【找到按位或最接近 K 的子数组】
因此,我们从左到右遍历 nums,并在过程中记录每个二进制上的 1 出现的最晚的位置。具体的,我们用 bits_max_pos[j] 来表示第 j 个二进制为 1 出现的最晚位置,在固定右端点后,将所有的二元组 (bits_max_pos[j],j) 从大到小排序,然后依次遍历这些二元组。方法有问题,这道题在力扣中属于难题,对我而言也不简单,我就是简单的先找到所有的子列表,再找到所有的or值,在进行绝对值的运算,这样子确实简单易懂,但是一旦nums足够大,我们的程序就会超出内存大小。子数组 nums[1…
2024-10-09 11:39:28 838
原创 leetcode力扣刷题系列——【旅行终点站】
给你一份旅游线路图,该线路图中的旅行线路用数组 paths 表示,其中 paths[i] = [cityAi, cityBi] 表示该线路将会从 cityAi 直接前往 cityBi。根据终点站的定义,终点站不会出现在cityAi中,因为存在从cityAi出发的线路,所以终点站只会出现在cityBi中。据此,我们可以遍历cityBi,返回不在cityAi中的城市,即为答案。博主能力有限,用了非常笨的方法,就是遍历,无止境的遍历,直道找到一个准确的为止,耗费的资源特别多。显然,旅行终点站是 “A”。
2024-10-08 16:23:45 571
原创 leetcode力扣刷题系列——【座位预约管理系统】
我的方法想的很简单,就是采用列表的形式,可以运行,运行的测试用例也是正确的,但是上传的话会出现超出时间的情况,虽然我运用了for循环,时间复杂度为O(n),但是我认为不是这个导致的,具体为什么,博主太菜了,博主也不知道,有知道的老哥可以分析一下。官方的方法确实很好,但是有一个问题,在提交过后我发现他并不是最优解,他甚至是排在倒数的位置的,那么我们先看官方的方法吧,最后我们在看看其他大神最优的解法是如何做到的。// 可以预约的座位为 [2,3,4,5] ,返回最小编号的座位,也就是 2。
2024-09-30 10:38:46 1197
原创 leetcode力扣刷题系列——【买票需要的时间】
有 n 个人前来排队买票,其中第 0 人站在队伍 最前方 ,第 (n - 1) 人站在队伍 最后方。在最前面的人买完票后,队伍在第 1 秒变成 [1,1,1,4]。在最前面的人买完票后,队伍在第 1 秒变成 [3,2,1]。队伍一开始为 [5,1,1,1],第 k 个人以下划线标识。继续这个过程,队伍在第 2 秒变为[2,1,2]。继续这个过程,队伍在第 3 秒变为[1,2,1]。继续这个过程,队伍在第 4 秒变为[2,1]。继续这个过程,队伍在第 5 秒变为[1,1]。
2024-09-29 11:36:53 207
原创 leetcode力扣刷题系列——【每种字符至少取 K 个】
按照题意所述,从最左和最右侧取走后,原字符串还剩下一个连续的区间,那么可以转化为求一个最长的子区间,使得区间两边的所有字符加起来满足题目要求。当满足题意要求时,显然区间长度越长,取得的字符就越少。所以当右端点 r 固定时,最优的情况是找到一个最小的左端点 l 使得取走的字符最少,并且随着左端点 r 右移动,满足要求的 l 也会往右移动。从 s 的右侧取五个字符,现在共取到四个字符 ‘a’ 、两个字符 ‘b’ 和两个字符 ‘c’。从 s 的左侧取三个字符,现在共取到两个字符 ‘a’ 、一个字符 ‘b’。
2024-09-27 16:14:04 417
原创 leetcode力扣刷题系列——【数组元素和与数字和的绝对差】
nums 的数字和是 1 + 1 + 5 + 6 + 3 = 16。nums 的元素和是 1 + 15 + 6 + 3 = 25。注意:两个整数 x 和 y 的绝对差定义为 |x - y|。nums 的元素和是 1 + 2 + 3 + 4 = 10。nums 的数字和是 1 + 2 + 3 + 4 = 10。元素和与数字和的绝对差是 |25 - 16| = 9。元素和与数字和的绝对差是 |10 - 10| = 0。输入:nums = [1,15,6,3]输入:nums = [1,2,3,4]
2024-09-26 15:20:17 253
原创 leetcode力扣刷题系列——第一题【两数之和】
给定一个整数数组nums和一个整数目标值target,请你在该数组中找出 和为目标值target的那两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案,并且你不能使用两次相同的元素。你可以按任意顺序返回答案。输入:nums = [2,7,11,15], target = 9输出:[0,1]解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1]。输入:nums = [3,2,4], target = 6输出:[1,2]
2024-09-25 11:01:02 556
原创 查询电脑上已经连接的wifi密码
首先在电脑屏幕的右下角找到自己的wifi图标,右键wifi的图标,点击打开“网络和Internet设置”在无线网络属性中点击安全,并在下面勾选显示字符,即可知道目前连接的WIFI的密码。进入设置后左侧先点击WLAN,然后在右侧找到并点击网络和共享中心。在网络和共享中心中点击连接后面,WLAN的名称。在WLAN状态中点击无线属性。
2024-09-04 14:38:38 151
原创 Hive数据仓库
数仓作为面相分析的数据平台,其主职工作就是对存储在其中的数据开展分析,那么如何读取数据分析呢?理论上来说,任何一款编程语言只要具备读写数据、处理数据的能力,都可以用于数仓的开发。比如大家耳熟能详的C、java、Python等;关键在于编程语言是否易学、好用、功能是否强大。遗憾的是上面所列出的C、python等编程语言都需要一定的时间进行语法的学习,并且学习语法之后还需要结合分析的业务场景进行编码,跑通业务逻辑。不管从学习成本还是开发效率来说,上述所说的编程语言都不是十分友好的。
2023-07-26 16:25:51 2813
原创 txt转csv文件避免部分空值没有转化的问题
上述代码首先使用csv.reader()方法读取txt文件,将其分割为单独的行和列。由于原始文件中每个字段间使用了制表符作为分隔符,因此指定delimiter参数为’\t’。然后使用csv.writer()方法写入到csv文件中。如上述代码所示,虽然可以将txt文件转化为csv文件格式,但是如果txt文件中有空值,那么在生成的CSV文件中会出现错误(在txt转csv时,不会识别出空值的格式,除非你的空值是0或null)。如果你的空值是是空格或者tab的形式出现,就很容易导致错误。
2023-05-08 17:09:08 351 1
原创 如何学习深度学习
学习深度学习基础知识是学习深度学习的第一步。在学习过程中,可以使用一些经典的深度学习书籍和教程,如《深度学习》、《Python深度学习》等。学习深度学习基础知识是学习深度学习的第一步。在学习过程中,可以使用一些经典的深度学习书籍和教程,如《深度学习》、《Python深度学习》等。深度学习是机器学习的一个分支,因此学习机器学习基础知识对于学习深度学习非常重要。深度学习是机器学习的一个分支,因此学习机器学习基础知识对于学习深度学习非常重要。参加深度学习相关的课程和研讨会可以帮助你更好地了解深度学习。
2023-03-20 15:40:49 967
原创 Hadoop入门
数据是指对可观事件进行记录并可以鉴别的符号,是对客观事物的性质、状态以及相互关系等进行记载的物理符号或这些物理符号的组合,它是可以识别的、抽象的符号。他不仅指狭义上的数字,还可以是具有一定意义的文字、字母、数字符号的组合、图形、图像、视频、音频等,也是客观事物的属性、数量、位置及相互关系的抽象表示。对客观事物的计量和记录产生数据把隐藏在数据背后的信息集中和提炼出来,总结出所研究对象的内在规律,帮助管理者进行有效的判断和决策。离线分析(batch processing)
2023-03-10 19:42:24 618 1
原创 Hadoop YARN
可以把Hadoop YARN理解为相当于一个分布式的操作系统平台,而MapReduce等计算程序则相当于运行于操作系统之上的应用程序,YARN为这些程序提供运算所需的资源(内存、CPU等)。Hadoop能有今天这个地位,YARN可以说是功不可没。因为有了YARN,更多计算框架可以接入到HDFS中,而不单单是MapReduce,正是因为YARN的包容,使得其他计算框架能专注于计算性能的提升。HDFS可能不是最优秀的大数据存储系统,但却是应用最广泛的大数据存储系统,YARN功不可没。...
2022-08-14 12:37:40 225
原创 MapReduce
分布式计算是一种计算方法和集中式计算是相对的随着计算技术的发展,有些应用需要非常巨大的计算能力才能完成,如果采用集中式计算,需要耗费相当长的时间来完成。分布式计算将该应用分解成许多小的部分,分配给多台计算机进行处理。这样可以节约整体计算时间,大大提高计算效率。Hadoop MapReduce是一个分布式计算框架,用于青松编写分布式应用程序,这些应用程序以可靠,容错的方式并行处理大型硬件集群(数千个节点)上的大量数据(多TB数据集)。...
2022-08-13 11:37:01 812
原创 HDFS分布式文件系统基础
HDFS(HadoopDistributedFileSystem),意为Hadoop分布式文件系统是ApacheHadoop核心组件之一,作为大数据生态圈最底层的分布式存储服务而存在。也可以说大数据首要解决的问题是海量数据存储问题。HDFS主要是解决大数据如何存储问题的。分布式意味着HDFS是横跨多台计算机的存储系统HDFS是一种能够在普通硬件上运行的分布式文件系统,它是高度容错的,适用于具有大数据集的应用程序,它非常适用于存储大型数据(TB、PB)。主从架构分块存储。...
2022-07-28 11:28:31 305
原创 Linux相关知识
命令属于死东西,多用多会,不用就忘tab键可以实现自动补全和提示,可以合理使用history命令可以显示历史执行记录,或者使用方向键来切换前后执行的命令。
2022-07-25 16:36:39 179
原创 MySQL的优化
在应用的开发过程中,由于初期数据量较小,开发人员写SQL语句时更注重功能上的实现,但是当应用系统正式上线后,随着产生数据量的急剧增长,很多SQL语句开始逐渐显露出性能问题,对产生的影响也越来越大,此时有些问题SQL语句就成为整个系统性能的瓶颈,因此需要对其进行优化MySQL有多种优化方式,可大致分为以下几类MySQL客户端连接成功后,通过show [session|global] status 命令可以查看服务器状态信息。通过查看状态信息可以查看对当前数据库的主要操作类型例如:定位低效率执行SQL可
2022-07-12 23:12:12 309
原创 MySQL的日志
概念:在任何一种数据库中,都会有各种各样的日志,记录这数据库工作的方方面面,以帮助数据库管理员追踪数据库曾经发生的各种事件。MySQL也不例外概念:错误日志是MySQL中最重要的日志之一,它记录了当myslqid启动和停止时,以及服务器在运行过程中发生任何严重错误时的相关信息。当数据库出现任何故障导致无法正常使用时,可以首先查看此日志。该日志是默认开启的,默认存放目录为MySQL的数据目录,默认的日志文件名为hostname.err(hostname是主机名)。查看日志位置命令二进制日志 - binlog
2022-07-08 20:54:14 268
原创 MySQL的锁机制
锁是计算机协调多个进程或线程并发访问某一资源的机制(避免争抢)。在数据库中,除传统的计算资源(如CPU、RAM、I/O等)的争用以外,数据也是一种供多用户共享的资源。从对数据操作的粒度分表锁:操作时,会锁定整个表行锁:操作时,会锁定当前操作行从对数据操作的类型分读锁(共享锁):针对同一份数据,多个读操作可以同时进行而不会互相影响写锁(排它锁):当前操作没有完成之前,它会阻断其他写锁和读锁不同存储引擎支持不同的锁机制MySQL锁特性MyISAM在执行查询语句前,会自动给涉及的所有表加读锁,在执行更新
2022-07-07 20:48:04 284
原创 MySQL的事务
MySQL的事务操作主要有以下三种:注:例如:事务的特性原子性:事务是一个不可分割的整体,事务开始后的所有操作,要么全部完成,要么全部不做一致性:系统从一个正确的状态,迁移到另一个正确的状态隔离性:每个事务的对象对其他事务的操作对象互相分离,事务提交前对其他事务不可见持久性:事务一旦提交,则其结果是永久性的事务的隔离级别lsolate,顾名思义就是将事务与另一个事务隔开。如果一个事务正在操作的数据被另一个事务修改或删除了,最后执行的结果可能无法达到预期。如果没有隔离性还会导致其他问题。注
2022-07-06 20:55:47 398
原创 MySQL的存储引擎
数据库存储引擎是数据库底层软件组织,数据库管理系统(DBMS)使用数据引擎进行创建、查询、更新和删除数据。方法:查看当前默认存储引擎.方法:查看某个表用了什么引擎(在现实结果里参数engine后面的就表示当前用的存储引擎)方法:创建新表时指定存储引擎方法:修改数据库引擎方法:...
2022-07-06 19:59:21 117
原创 MySQL的索引
介绍:索引是通过某种算法,构建出一个数据模型,用于快速找出在某个列中有一特定值的行,不使用索引,MySQL必须从第一条记录开始读完整个表,直到找出相关的行,表越大,查询数据所花费的时间就越多,如果表中查询的列有一个索引,MySQL能够快速达到一个位置去搜索数据文件,而不必查看所有数据,那么将会节省很大一部分时间。索引是存储引擎用来快速查找的记录的一种数据结构,按照实现的方式类分,主要有HASH索引和B+TREE索引单列索引:一个索引只包含单个列,但一个表中可以有多个单列索引普通索引:MySQL中基本索引
2022-07-05 18:44:22 154
原创 MySQL的触发器
触发器的特性:1.创建只有一个执行语句的触发器CREATE TRIGGER 触发器名 BEFORE|AFTER 触发事件ON 表名 FOR EACH ROW执行语句;2.创建有多个执行语句的触发器CREATE TRIGGER 触发器名 BEFORE||AFTER 触发事件ON 表名 FOR EACH ROWBEGIN执行语句列表END;例如:NEW和OLD概念:MySQL中定义了NEW和OLD,用来表示触发器的所在表中,触发了触发器的那一行数据,来引用触发器中发生变化的记录内容,具体的
2022-07-03 10:58:35 750
原创 MySQL的存储过程练习题
1.创建下个月的每天对应的表 user_2022_08_01、user_2022_08_2、…PREPARE stmt_name FROM preparable_stmtEXECUTE stmt_name [USING @var_name [,@var_name]…]{DEALLOCATE || DROP} PREPARE stmt_name知识点 时间的处理EXTRACRT(unit FROM date)截取时间的指定位置值DATE ADD(date,INTERVAL expr unit)日期运
2022-07-02 11:29:44 731
原创 MySQL的存储过程
什么是存储过程方法:delimiter 自定义结束符号CREATE PROCEDURE 存储名([in , out, inout] 参数名 数据类型……)BEGINSQL语句END 自定义的结束符号delimiter ;例如:变量定义局部变量用户自定义,在BEGIN/END块中有效方法:声明变量 DECLARE var_name TYPE [DEFAULT var_value];例如:MySQL中还可以使用SELECT…INTO语句为变量赋值。方法:SELECT col_name[
2022-07-01 19:07:06 608
原创 MySQL的视图练习题
练习题1:查询部门平均薪水最高的部门名称2:查询员工比所属领导薪资高的部门名、员工名、员工领导编号3:查询工资等级为4级,2000年以后入职的工作地点为上海的员工编号、姓名和工资,并查出薪资在前三名的员工信息...
2022-06-26 11:14:49 1514
原创 MySQL数据库详细学习教程
通过MySQL数据库的基本操作到后面优化再到JDBC等的学习以及提供了相关的联系题。MySQL数据库基本操作MySQL数据库DML操作练习MySQL约束MySQL数据库DQL查询操作MySQL数据库DQL练习题MySQL多表操作MySQL多表操作练习题MySQL的函数MySQL的视图................................................
2022-06-26 10:18:08 143
串口调试工具(硬件模块)
2020-11-04
485canbltwotuesday.rar
2020-10-23
fiveFriday.rar
2020-10-23
sunday.rar
2020-10-23
zigbeethreewednesday.rar
2020-10-22
re.sub不能替换所有的非打印字符,ascii为28的并不能被替换掉
2023-07-26
有没有什么简单的办法对word中的脚注(加圈的那个格式)超过10(wps超过20)
2022-05-07
之前没有做过javaweb,基本的东西多少会一点点
2021-04-05
并不是很会写代码,请问如何高效的做完毕设
2021-03-31
TA创建的收藏夹 TA关注的收藏夹
TA关注的人