自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 收藏
  • 关注

原创 合并区间(python3)

以数组 intervals 表示若干个区间的集合,其中单个区间为 intervals[i] = [starti, endi]。输入:intervals = [[1,3],[2,6],[8,10],[15,18]]解释:区间 [1,3] 和 [2,6] 重叠, 将它们合并为 [1,6].输入:intervals = [[1,4],[4,5]]解释:区间 [1,4] 和 [4,5]可被视为重叠区间。输出:[[1,6],[8,10],[15,18]]时间复杂度:O(NLogN)输出:[[1,5]]

2024-07-06 19:00:52 295

原创 最长连续序列 python3

则当前x为序列起点,依次枚举x+1,x+2…x+n-1,其中n为原列表去重后的长度,分别与keys匹配,更新答案。每次枚举结束后,与上一次的序列长度对比,取最大值。给定一个未排序的整数数组 nums ,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。,这可以作为判断跳过循环的条件,表示当前列表中存在比x小的数,因此直接跳过。解释:最长数字连续序列是 [1, 2, 3, 4]。输入:nums = [0,3,7,2,5,8,4,6,0,1]输入:nums = [100,4,200,1,3,2]

2024-06-23 16:42:50 214

原创 存在重复元素Ⅱ python3

若当前数字对应的列表长度大于2,则表明至少存在相同的两个索引,使得nums[i] == nums[j],将此列表降序排列,一一比较,如存在i-j小于等于k则返回True。给你一个整数数组 nums 和一个整数 k ,判断数组中是否存在两个 不同的索引 i 和 j ,满足 nums[i] == nums[j] 且 abs(i - j)

2024-06-22 16:16:09 171

原创 word交叉引用

表示后面的不显示,加入"[0" 则表示除了[0外不显示,数字0在这里代指本来的引用编号,即原本的引用号[4]会变成[4。shift、ctrl和‘+’ 可以快捷变成上标。选中编号,F9刷新即变成如下图。选中引用号,切换域代码。

2024-06-22 14:22:21 220

原创 无重复字符的最长子串(python3)

滑动窗口思想,每到一个字符的位置,则判断该字符是否与子串中的字符重复,若没有则继续遍历,若重复,则将当前子串与结果子串的长度对比,取长度大的作为新的结果子串,并将当前子串清空,从此次遍历的初始位置的下一个位置继续滑动。请注意,你的答案必须是子串的长度,“pwke” 是一个子序列,不是子串。解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。解释: 因为无重复字符的最长子串是 “wke”,所以其长度为 3。解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。空间复杂度:O(n)

2024-06-21 19:38:01 294

原创 用Log(n)的时间复杂度解决快乐数问题

每次除以10的余数存进列表,最后循环列表,将每一位数字平方后相加,作为新的n。循环边界条件为n>6,这是因为当n只有一位数时,可以直接判断是否为快乐数。而经过计算可得,n等于2、3、4、5、6时无法经过算法得到结果1。此方法的时间复杂度为O(log(n))编写一个算法来判断一个数 n 是不是快乐数。

2024-06-13 16:30:53 307

原创 两数之和 ——字典与列表相结合

给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。将每个数字对应key,索引对应value,由于可能出现相同的数字,因此value应采用列表结构。解释:因为 nums[0] + nums[1] ==9 ,返回 [0, 1]。输入:nums = [2,7,11,15], target = 9。输入:nums = [3,2,4], target = 6。输入:nums = [3,3], target = 6。

2024-06-13 15:22:41 252

原创 python3解决字母异位词分组

遍历字符串s,当出现已存在的字母,对应值加一,第二次遍历字符串t,每出现一个字符则对应值减一。遍历给出的单词分组,将当前索引i对应的单词作为比较标准,同样的方法用哈希表存储字母出现次数,并分别与i+1,i+2…输入: strs = [“eat”, “tea”, “tan”, “ate”, “nat”, “bat”]输出: [[“bat”],[“nat”,“tan”],[“ate”,“eat”,“tea”]]根据第一问有效的字母异位词得出灵感,可以将其拆分为多个有效的字母异位词。输出: [[“”]]

2024-06-12 14:51:45 328

原创 同构字符串(python3)

不同字符不能映射到同一个字符上,相同字符只能映射到同一个字符上,字符可以映射到自己本身。输入: pattern = “abba”, s = “dog cat cat dog”输入:pattern = “abba”, s = “dog cat cat fish”输入: pattern = “aaaa”, s = “dog cat cat dog”输入:s = “paper”, t = “title”输入:s = “egg”, t = “add”输入:s = “foo”, t = “bar”

2024-06-08 15:46:46 124

原创 赎金信(python3实现两种解题思路)

可以将26个字母看成是哈希表的key,在匹配字符串中,每个字母出现的次数作为对应的value。遍历第一个字符串,每当一个字母出现,则找到哈希表中的值,如果为0,直接返回False,若不为0,则哈希表的值减一,并继续遍历。首先思考如果要在第二个字符串中找到所有对应的字符,为了不错过字符,应该对第一个字符串进行遍历,然后再根据指定值对第二个字符串查找。循环索引列表,如果使用过,则继续循环下一个索引,若没有使用过,则标记,并退出循环。使用哈希表解题,相较于上面的解法,提高了算法效率,时间复杂度为O(n)。

2024-06-07 15:02:18 241

原创 CentOS学习(一)

ssh服务是一个守护进程(demon),系统后台监听客户端的连接,ssh服务端的进程名为sshd,负责实时监听客户端的请求(IP 22端口),包括公共秘钥等交换等信息。在winSCP中新建,输入虚拟机的ip地址以及root密码,连接成功后,将下载在物理机的netcat压缩包复制到虚拟机中。进入文件夹,如果有configure文件,执行./configure。执行完成后,ls查看当前目录,会出现makefile文件。yum源:分本地源和在线源。本地源优点:下载快,无需联网。如下载阿里云yum源。

2024-06-05 16:21:43 1112

原创 计算机网络学习笔记(一)

第一步浏览器输入网址,通过DNS域名解析,找到服务器ip地址,第二步发送请求至服务器,第三步服务器接受处理请求,并响应。如果hosts文件中没有则对dns服务发送请求 (可以通过ipconfig /all查看DNS服务器的ip地址)hosts文件路径 :C:\Windows\System32\drivers\etc。寄居架构 VMware Workstation Hyper-V。打开我的电脑,在地址栏输入:ftp服务器。如果是NAT模式,先查找虚拟机的ip,高级共享设置 选择无密码保护共享。

2024-06-03 14:45:53 318

原创 kali的使用(一)

找到语言选择中的zh_CN.UTF-8,回车。4. 注释掉或删除旧的源列表。5. 复制粘贴国内镜像源。

2024-06-03 14:33:10 471

原创 VMware最新版安装教程

注意安装位置可以更改,但是不要直接安装在磁盘中,需新建文件夹。点击后会进入broadcom官网,登录账号,若无账号先注册。4 选择linux系统,Debian与kali系统较为兼容。等待一段时间的安装后会出现下面的界面,保持默认选择。进入后选择版本,填写相关资料后就可以下载了。3 点击下一步直到如图,选择稍后安装。最后一直点下一步,直到安装完成。登录成功后进入我的下载页面。5 选择虚拟机安装的位置。9 下一步,选择推荐即可。继续下一步,点击进行安装。创建成功后,点击DVD。开始安装后点击下一步。

2024-06-02 22:23:17 424

原创 生命游戏(python)

但是题目要求在一个函数中实现,因此直接将for循环写在遍历的过程中,并且定义一个标记列表,将细胞的存活情况过程记录下来。给定一个包含 m × n 个格子的面板,每一个格子都可以看成是一个细胞。每个细胞都具有一个初始状态: 1 即为 活细胞 (live),或 0 即为 死细胞 (dead)。下一个状态是通过将上述规则同时应用于当前状态下的每个细胞所形成的,其中细胞的出生和死亡是同时发生的。根据 百度百科 , 生命游戏 ,简称为 生命 ,是英国数学家约翰·何顿·康威在 1970 年发明的细胞自动机。

2024-05-29 19:45:55 343

原创 矩阵置零——python3使用二维列表记录行列号

将二维问题转化为一维思路,即在矩阵中,当数字为0时,将其对应行列上的所有数字都置零,可以通过遍历矩阵,将每一个0对应的行列号记录下来,遍历完成后,再对矩阵进行置零操作,此时只需要分别遍历记录下来的行号和列号。这里采用的二维列表分别存储需要置零的行号和列号。输入:matrix = [[1,1,1],[1,0,1],[1,1,1]] 输出:[[1,0,1],[0,0,0],[1,0,1]]给定一个 m x n 的矩阵,如果一个元素为 0 ,则将其所在行和列的所有元素都设为 0。请使用 原地 算法。

2024-05-27 16:59:54 179

原创 python3+数学思路解决旋转矩阵图像

观察图的规律,会发现旋转后,第一行变成了最后一列,第二行变成了倒数第二列,即第i行数字经过旋转对应成为(总列数-i)列的位置。输入:matrix = [[1,2,3],[4,5,6],[7,8,9]] 输出:[[7,4,1],[8,5,2],[9,6,3]]输入:matrix = [[5,1,9,11],[2,4,8,10],[13,3,6,7],[15,14,12,16]]输出:[[15,13,2,5],[14,3,4,1],[12,6,8,9],[16,7,10,11]]

2024-05-25 15:19:32 288

原创 python3解决有效数独问题

遍历数独,当数字不为0时,该数字对应行的对应数字次数加一,对应列的对应数字次数加一。判断九宫格,可以画图辅助理解,当前数字位置的行数加一,除以3且对此向上取整得到的即为对应九宫格的行数,求列数也同理。其中每个限制条件都是9个数字不能重复出现,因此想到用数组存储数字出现次数。解释:除了第一行的第一个数字从 5 改为 8 以外,空格内其他数字均与 示例1 相同。3 数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。1 数字 1-9 在每一行只能出现一次。2 数字 1-9 在每一列只能出现一次。

2024-05-24 21:20:27 630 1

原创 两数之和Ⅱ:输入有序数组

给你一个下标从 1 开始的整数数组 numbers ,该数组已按 非递减顺序排列 ,请你从数组中找出满足相加之和等于目标数 target 的两个数。如果设这两个数分别是 numbers[index1] 和 numbers[index2] ,则 1

2024-04-25 17:12:49 319 1

原创 3.python3实战之最长公共前缀即找最短字符串

应该找到列表中最短的字符串,用最短的字符串与其他字符串进行前缀匹配,并依次递减前缀数量。编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 “”。

2024-03-31 17:33:18 167

原创 2.python3实战之使用列表反向遍历解决字符串反转

【代码】2.python3实战之使用列表反向遍历解决字符串反转。

2024-03-31 17:27:19 123 1

原创 1. Z字形变换

观察z字形排列的规律,每列可以看成一个键值对,即将每列的字符串作为字典的value,列数作为key,且给value添加空格,每个空格都占一个字符的位置,使得字典的value长度一致。而返回的结果字符串即字典的每一个值的对应位置的不为空格的字符。之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:“PAHNAPLSIIGYIR”。输入:s = “PAYPALISHIRING”, numRows = 3。输入:s = “PAYPALISHIRING”, numRows = 4。

2024-03-31 17:22:58 162 1

原创 Linux常见命令汇总

Linux命令本体就是一个个的二进制可执行程序和windows系统中的.exe文件是一个意思。

2023-12-20 17:52:24 492 1

原创 PySpark学习笔记(二)

注:reduceByKey算子是先根据key进行分组,然后再分别按计算每个分组,输入的func计算逻辑是针对分组之后。可以看出,写入的文件夹中有非常多的文件,可以通过修改分区个数来减少写入的文件个数。有几个分区就输出多少个结果文件。输出的结果是一个文件夹。

2023-12-20 17:24:49 30 1

原创 Sql语言学习笔记(一)

USE 数据库名;-- 使用数据库- CREATE DATABASE 数据库名称 [CHARSET UTF8];-- 创建数据库-- 删除数据库-- 查看当前使用的数据库-- 查看数据库中有哪些表**删除表的两种方式:**- DROP TABLE 表名称;- DROP TABLE IF EXISTS 表名称;- CREATE TABLE 表名称(列名称 列类型,列名称 列类型,...... --创建表附:数据类型- int -- 整数。

2023-12-14 17:12:00 35 1

原创 异步编程之回调

JS异步简单实现+后台接口$(function() { //查詢功能,jquery语法,进入页面后自动执行 find(); function find() { $.post("stu.do", {"type":"findAjax"}, back, "Json"); //接口,{参数类型},回调函数,返回数据类型 function back(data) { //alert(data); data = JSON.parse(data); //alert("

2021-07-08 11:31:01 68

原创 算法(一)反转链表

/*struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) { }};*/class Solution {public: ListNode* ReverseList(ListNode* pHead) { if(pHead==NULL) return NULL; ListNode* pre = NULL; ListN

2021-07-08 10:55:08 70

原创 学习mininet遇到的问题及总结(一)

学习mininet所遇到的问题及总结下载mininet方法一:直接下载mininet,然后在vmware中打开,初始登录账户和密码都是:mininet。如果要切换管理员权限,输入命令:sudo passwd root,此时会弹出让你输入新密码,即创建一个就可,创建完成后,输入su切换成功。在根目录下输入命令ls,查看当前子目录。这时遇到了第一个问题,没有找到mininet一些子目录custom、bin等等。然后进入了当前目录下的home文件。到这时才找到mininet文件结构。cust

2021-04-17 22:54:10 2574

原创 基于super hex editor进行植物大战僵尸用户数据修改

植物大战僵尸游戏数据修改下载植物大战僵尸进入win10自带的软件商店下载super hex Editor 进入游戏创建一个测试用户进入C:\ProgramData\PopCap Games\PlantsVsZombies\userdata.用super hex Editor打开user1文件。对比发现,04处的数代表当前关卡,且是用十六进制数表示。由于商店开启是4-1关,所以直接修改成1F,此时金币数为0对比数据发现,08处进制数代表金币.经过修改

2021-04-09 00:08:26 459 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除