09 2022 档案

摘要:python的逻辑判断语句是or,and,not。 python和c++思想上唯一的区别就是,它分为可变和不可变对象(python没有数据类型的概念)其中可变的是列表,字典,集合都是可变的(也就是调用方法之后可以直接在原来的列表上改变值)其中不可变的是字符串,元组,(int和float)等(也就是调 阅读全文
posted @ 2022-09-26 17:17 铜锣湾陈昊男 阅读(11) 评论(0) 推荐(0)
摘要:一、首先是直接的插入排序: 这个过程是这样的: 首先是这个数组前面一段是排好序的数组,后面一段是无序待排数组。 然后第一层循环i是遍历每一个数组的元素,然后将这元素放进前面的有序数组,找出这个元素应该在哪个位置,这个位置记为j。 然后将这个元素j到i的元素全部往后面移动一位 最后将这个记录的元素fl 阅读全文
posted @ 2022-09-25 22:53 铜锣湾陈昊男 阅读(2) 评论(0) 推荐(0)
摘要:按照国际象棋的规则,皇后可以攻击与之处在同一行或同一列或同一斜线上的棋子。 n 皇后问题 研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击。 给你一个整数 n ,返回所有不同的 n 皇后问题 的解决方案。 每一种解法包含一个不同的 n 皇后问题 的棋子放置方案,该方 阅读全文
posted @ 2022-09-24 16:19 铜锣湾陈昊男 阅读(9) 评论(0) 推荐(0)
摘要:useradd命令:创建新用户,比如在超级用户的前提之下我们去执行这个命令:useradd tony,那么就创建了一个新用户tony,之后再home目录之下可以找到这个tony账号。创建的用户在/etc/passwd下面可以看见tony的账户信息。 passwd命令,修改用户的密码,使用方法pass 阅读全文
posted @ 2022-09-23 16:45 铜锣湾陈昊男 阅读(6) 评论(0) 推荐(0)
摘要:date的用法:直接使用date,那就是显示当前时间: date +%Y显示年份: date +%m显示月份: date +%d:显示太天数: 如果要显示所有的信息,那就按照以下的格式:date "+%Y-%m-%d %H-%M-%S",效果如下显示: 调整当前的正确时间,也就是自愿修改时间: ca 阅读全文
posted @ 2022-09-23 15:12 铜锣湾陈昊男 阅读(5) 评论(0) 推荐(0)
摘要:静态库:libxxx.a一个文件内部如下:包含着一个头文件head.h,这个头文件里面写着一些函数的声明:如下: #ifndef _HEAD_H #define _HEAD_H // 加法 int add(int a, int b); // 减法 int subtract(int a, int b) 阅读全文
posted @ 2022-09-18 19:02 铜锣湾陈昊男 阅读(18) 评论(0) 推荐(0)
摘要:linux命令格式: command [-options] [parameter] command:命令; options:选项或者操作; parameter:目标或者参数; ls:显示当前文件下的文件和文档-a:显示所有的文件包括隐藏文件;-l:显示所有文件的信息。如建立的时间-h:人性化显示,通 阅读全文
posted @ 2022-09-16 17:48 铜锣湾陈昊男 阅读(16) 评论(0) 推荐(0)
摘要:给定一个二叉树,找出其最大深度。 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。 说明: 叶子节点是指没有子节点的节点。 示例:给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回它的最大深度 3 。 想法一:使用前序遍历,但是这里要注意 阅读全文
posted @ 2022-09-15 15:15 铜锣湾陈昊男 阅读(13) 评论(0) 推荐(0)
摘要:给你一个整数数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。 返回 滑动窗口中的最大值 。 示例 1: 输入:nums = [1,3,-1,-3,5,3,6,7], k = 3输出:[3,3,5,5,6 阅读全文
posted @ 2022-09-15 11:00 铜锣湾陈昊男 阅读(9) 评论(0) 推荐(0)
摘要:给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。 示例 1: 输入:head = [1,2,3,4]输出:[2,1,4,3]示例 2: 输入:head = []输出:[]示例 3: 输入:head = [1]输出:[ 阅读全文
posted @ 2022-09-13 20:22 铜锣湾陈昊男 阅读(5) 评论(0) 推荐(0)
摘要:给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。 想法一:将需要反转的链表建立一个空头,再逐一进行反转: class Solution { public: ListNode* reverseList(ListNode* head) { ListNode* slow = NULL; 阅读全文
posted @ 2022-09-13 20:18 铜锣湾陈昊男 阅读(6) 评论(0) 推荐(0)
摘要:根据 逆波兰表示法,求表达式的值。 有效的算符包括 +、-、*、/ 。每个运算对象可以是整数,也可以是另一个逆波兰表达式。 注意 两个整数之间的除法只保留整数部分。 可以保证给定的逆波兰表达式总是有效的。换句话说,表达式总会得出有效数值且不存在除数为 0 的情况。 示例 1: 输入:tokens = 阅读全文
posted @ 2022-09-12 21:47 铜锣湾陈昊男 阅读(22) 评论(0) 推荐(0)
摘要:给出由小写字母组成的字符串 S,重复项删除操作会选择两个相邻且相同的字母,并删除它们。 在 S 上反复执行重复项删除操作,直到无法继续删除。 在完成所有重复项删除操作后返回最终的字符串。答案保证唯一。 示例: 输入:"abbaca"输出:"ca"解释:例如,在 "abbaca" 中,我们可以删除 " 阅读全文
posted @ 2022-09-12 20:32 铜锣湾陈昊男 阅读(35) 评论(0) 推荐(0)
摘要:给你一棵二叉树的根节点 root ,翻转这棵二叉树,并返回其根节点。 示例 1: 输入:root = [4,2,7,1,3,6,9]输出:[4,7,2,9,6,3,1]示例 2: 输入:root = [2,1,3]输出:[2,3,1] 想法一: 1.是在前序遍历(递归)中反转二叉树: class S 阅读全文
posted @ 2022-09-10 16:28 铜锣湾陈昊男 阅读(16) 评论(0) 推荐(0)
摘要:给定一个只包括 '(',')','{','}','[',']' 的字符串 s ,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。每个右括号都有一个对应的相同类型的左括号。 示例 1: 输入:s = "()"输出:true示例 2: 输入:s = 阅读全文
posted @ 2022-09-09 11:35 铜锣湾陈昊男 阅读(6) 评论(0) 推荐(0)
摘要:编写一个算法来判断一个数 n 是不是快乐数。 「快乐数」 定义为: 对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和。然后重复这个过程直到这个数变为 1,也可能是 无限循环 但始终变不到 1。如果这个过程 结果为 1,那么这个数就是快乐数。如果 n 是 快乐数 就返回 true ;不是, 阅读全文
posted @ 2022-09-07 16:10 铜锣湾陈昊男 阅读(15) 评论(0) 推荐(0)
摘要:给定两个数组 nums1 和 nums2 ,返回 它们的交集 。输出结果中的每个元素一定是 唯一 的。我们可以 不考虑输出结果的顺序 。 示例 1: 输入:nums1 = [1,2,2,1], nums2 = [2,2]输出:[2]示例 2: 输入:nums1 = [4,9,5], nums2 = 阅读全文
posted @ 2022-09-07 15:09 铜锣湾陈昊男 阅读(5) 评论(0) 推荐(0)
摘要:给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。 注意:若 s 和 t 中每个字符出现的次数都相同,则称 s 和 t 互为字母异位词。 示例 1: 输入: s = "anagram", t = "nagaram"输出: true示例 2: 输入: s = "rat", 阅读全文
posted @ 2022-09-07 14:50 铜锣湾陈昊男 阅读(11) 评论(0) 推荐(0)
摘要:找出所有相加之和为 n 的 k 个数的组合,且满足下列条件: 只使用数字1到9每个数字 最多使用一次 返回 所有可能的有效组合的列表 。该列表不能包含相同的组合两次,组合可以以任何顺序返回。 示例 1: 输入: k = 3, n = 7输出: [[1,2,4]]解释:1 + 2 + 4 = 7没有其 阅读全文
posted @ 2022-09-06 16:11 铜锣湾陈昊男 阅读(22) 评论(0) 推荐(0)
摘要:给定两个整数 n 和 k,返回范围 [1, n] 中所有可能的 k 个数的组合。 你可以按 任何顺序 返回答案。 示例 1: 输入:n = 4, k = 2输出:[ [2,4], [3,4], [2,3], [1,2], [1,3], [1,4],]示例 2: 输入:n = 1, k = 1输出:[ 阅读全文
posted @ 2022-09-06 15:45 铜锣湾陈昊男 阅读(7) 评论(0) 推荐(0)
摘要:字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部。请定义一个函数实现字符串左旋转操作的功能。比如,输入字符串"abcdefg"和数字2,该函数将返回左旋转两位得到的结果"cdefgab"。 示例 1: 输入: s = "abcdefg", k = 2输出: "cdefgab"示例 2: 阅读全文
posted @ 2022-09-06 15:27 铜锣湾陈昊男 阅读(5) 评论(0) 推荐(0)
摘要:给你一个整数数组 nums ,请计算数组的 中心下标 。 数组 中心下标 是数组的一个下标,其左侧所有元素相加的和等于右侧所有元素相加的和。 如果中心下标位于数组最左端,那么左侧数之和视为 0 ,因为在下标的左侧不存在元素。这一点对于中心下标位于数组最右端同样适用。 如果数组有多个中心下标,应该返回 阅读全文
posted @ 2022-09-05 22:52 铜锣湾陈昊男 阅读(17) 评论(0) 推荐(0)
摘要:一般双指针能实现的,一般可以通过另外定义一个数组来记录新数组(也就是答案) 双指针实现数组填充的问题一般来说补充长度之后从后面开始遍历会比较简单 数组类的变化总结: 首先是数组长度总的来说是变短的,可以用双指针和暴力解法,或者是新建新的数组来记录答案 其次是数组长度并没有改变的,一般直接采用暴力解法 阅读全文
posted @ 2022-09-05 22:01 铜锣湾陈昊男 阅读(20) 评论(0) 推荐(0)
摘要:请实现一个函数,把字符串 s 中的每个空格替换成"%20"。 示例 1: 输入:s = "We are happy." 输出:"We%20are%20happy." 想法1:用一个新的空间,来记录结果,而不是在原来的数组基础之上改变: class Solution { public: string 阅读全文
posted @ 2022-09-05 21:34 铜锣湾陈昊男 阅读(8) 评论(0) 推荐(0)
摘要:给你一个字符串 s ,请你反转字符串中 单词 的顺序。 单词 是由非空格字符组成的字符串。s 中使用至少一个空格将字符串中的 单词 分隔开。 返回 单词 顺序颠倒且 单词 之间用单个空格连接的结果字符串。 注意:输入字符串 s中可能会存在前导空格、尾随空格或者单词间的多个空格。返回的结果字符串中,单 阅读全文
posted @ 2022-09-05 10:51 铜锣湾陈昊男 阅读(10) 评论(0) 推荐(0)
摘要:题目 有效 IP 地址 正好由四个整数(每个整数位于 0 到 255 之间组成,且不能含有前导 0),整数之间用 '.' 分隔。 例如:"0.1.2.201" 和 "192.168.1.1" 是 有效 IP 地址,但是 "0.011.255.245"、"192.168.1.312" 和 "192.1 阅读全文
posted @ 2022-09-04 20:27 铜锣湾陈昊男 阅读(3) 评论(0) 推荐(0)
摘要:题目 给你一个字符串 s,请你将 s 分割成一些子串,使每个子串都是 回文串 。返回 s 所有可能的分割方案。 示例 1: 输入:s = "aab" 输出:[["a","a","b"],["aa","b"]] 示例 2: 输入:s = "a" 输出:[["a"]] 提示: 1 <= s.length 阅读全文
posted @ 2022-09-04 17:57 铜锣湾陈昊男 阅读(16) 评论(0) 推荐(0)
摘要:实体: 协议: 协议的概念: 协议的三要素 语法:定义所交换信息的格式 语义:定义收发双方所需要完成的操作 同步: 定义通信双方的时序关系 3.服务 服务访问点: 协议数据单元和服务数据单元: 阅读全文
posted @ 2022-09-04 11:16 铜锣湾陈昊男 阅读(12) 评论(0) 推荐(0)
摘要:请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作(push、pop、peek、empty): 实现 MyQueue 类: void push(int x) 将元素 x 推到队列的末尾int pop() 从队列的开头移除并返回元素int peek() 返回队列开头的元素boolea 阅读全文
posted @ 2022-09-04 10:17 铜锣湾陈昊男 阅读(17) 评论(0) 推荐(0)
摘要:1、回溯算法就是一种不断探索可能性的方法,去循环 每一种可能得到的结果,把符合条件的结果保留下来,是一种bfs算法。 2、回溯算法的模板: void backtracking(参数) { if (终止条件) {//注意这里的条件是根据叶子节点的条件来写的 存放结果; return; } for (选 阅读全文
posted @ 2022-09-04 09:29 铜锣湾陈昊男 阅读(9) 评论(0) 推荐(0)
摘要:1、我们拿 斐波那契数来说,斐波那契数的定义为f(n)=f(n-1)+f(n-2)。我们有以下的方法进行计算,分别是暴力递归,记忆性递归,和动态规划 2、暴力递归方法(缺点是这个方法一定n比较大的时候容易造成时间复杂度很高): class solution { public: int fbnq(in 阅读全文
posted @ 2022-09-04 09:27 铜锣湾陈昊男 阅读(29) 评论(0) 推荐(0)
摘要:1、冒泡排序和选择排序的区别在于 (选择排序)一个是拿着第一个数和后面的所有位置数字去进行对比,从而确定该位置上面的那个数字是哪一个 (冒泡排序)一个是从第一个位置上开始往后面进行两个两个对比从而得到最大的一个数字,直到最后一个。 2、就像力扣里面说的 0 1 2 3 4 5(i=0) 3、代码实现 阅读全文
posted @ 2022-09-04 09:26 铜锣湾陈昊男 阅读(5) 评论(0) 推荐(0)
摘要:1、快速排序概念,快速排序是一种选择基准值来进行分区排序的算法,用到的是一种分而治之的思想(这个思想很重要) 2、我们一般是把一个数组第一个元素当作基准值来对比数的大小,分为上下两个数组,下的数组是一个比基准值小的数组,上的数组是一个比基准值大的数组,之后把基准值和上下两个数组合起来就ok,之后把上 阅读全文
posted @ 2022-09-04 09:24 铜锣湾陈昊男 阅读(8) 评论(0) 推荐(0)
摘要:1、递归的概念无需多说,这里的递归注意两个条件,没就是两个条件和一个调用栈的问题 2、写代码的时候特别注意递归的基线条件,这个条件比递归条件重要很多(因为傻子都知道递归条件的使用,但是基线条件需要理解),就拿下面的求阶层来说这个基线条件也是需要理解的。 3、首先是条件的问题,要形成递归一定要有两个条 阅读全文
posted @ 2022-09-04 09:23 铜锣湾陈昊男 阅读(11) 评论(0) 推荐(0)
摘要:1、选择排序就是一种将数据充分对比得到的排序,把第一个数据和后面的数据相比较,要是找到更小的,互换两者位置,然后进行下一位,直到运行完所有元素为止 2、代码实现比较多样化 这个是两个嵌套实现的方法: class Solution { public: void swap(int& a,int& b) 阅读全文
posted @ 2022-09-04 09:21 铜锣湾陈昊男 阅读(3) 评论(0) 推荐(0)
摘要:1、首先什么是二分算法肯定是清楚的,就像是我让你去猜一下我今天的工资,但是从0:100说,我会说大了小了,你肯定不会从1开始说道100,这个是简单查找,二分查找是每次都是以一半的数据划分,前提是输入的序列是一个有序的,这个很重要。 2、时间复杂度分析:对于包含n个元素的列表,用二分查找最多需要log 阅读全文
posted @ 2022-09-04 09:20 铜锣湾陈昊男 阅读(7) 评论(0) 推荐(0)
摘要:1、哈希表的概念: 哈希表是一个以哈希函数作为介质来实现映射的效果,用于实现一个键值对(key,value)的存储(key叫做键值,value叫做实际值)。 当我们要存储一个数据的时候,要先找到相应的桶,这个找到桶的过程就是一个映射的问题,当我们要找一个数据的时候,我们一般是根据对应的哈希函数的关系 阅读全文
posted @ 2022-09-04 09:17 铜锣湾陈昊男 阅读(79) 评论(0) 推荐(0)
摘要:1、树的概念:树 是一种经常用到的数据结构,用来模拟具有树状结构性质的数据集合,树里的每一个节点有一个值和一个包含所有子节点的列表。 2、二叉树是一种更为典型的树状结构。如它名字所描述的那样,二叉树是每个节点最多有两个子树的树结构,通常子树被称作“左子树”和“右子树”。 3、树里的一些专业名词:前、 阅读全文
posted @ 2022-09-04 09:16 铜锣湾陈昊男 阅读(199) 评论(0) 推荐(0)
摘要:1、双链表顾名思义是一种链表 但是它与单链表不同的是它的每一个节点都有两个指针,也就加上数据域和指针域包括三个部分,分别为val,pre指针,next指针 2、双链表的结构如下: 3、双链表的操作如下: #include<iostream> using namespace std; class My 阅读全文
posted @ 2022-09-04 09:13 铜锣湾陈昊男 阅读(13) 评论(0) 推荐(0)
摘要:1、队列的特点: 队列是一个竹筒塞纸团的操作,先进先出,且只能往一边进一边出 队列的结构如下所示: 队列有两种实现方法,分别是顺序存储(用数组实现 )结构和链式存储结构(用链表实现) 2、队列的顺序存储结构实现方法 定义一个队列: class queue { public: void* data[m 阅读全文
posted @ 2022-09-04 09:11 铜锣湾陈昊男 阅读(16) 评论(0) 推荐(0)
摘要:1、栈的特点: 栈可以看成是一个弹夹,先压进去的子弹,先被打出来,即先进后出 栈的结构如下: 栈有两种存储方式:一种是顺序存储(用数组实现)一种是链式存储结构(用链表实现) 2、顺序存储结构: 栈的定义: const int maxsize = 1024;//定义栈的最大容量为1024 class 阅读全文
posted @ 2022-09-04 09:08 铜锣湾陈昊男 阅读(20) 评论(0) 推荐(0)
摘要:1、单向循环链表的特点: 单向循环链表的特点与单向链表十分相似,唯一的区别是循环链表是首尾相连的 其具体的形式如下 循环链表的实现主要是看怎么将首尾相连表现出来。 2、循环链表定义: 其定义与单向链表相似,是一个定义节点和list的过程: 定义节点和链表: class cycle_node//定义节 阅读全文
posted @ 2022-09-04 09:05 铜锣湾陈昊男 阅读(19) 评论(0) 推荐(0)
摘要:1、链表的特点(链表是在空间中new出来的一段空间)(注意链表和数组意义具有零号数据位,即头节点的下一位) 链表是一种常见的数据结构,进行删除和插入操作十分简单,但是相对于其他的连续空间来说,遍历速度比较慢。 链表的结构:头节点head没有记录数量,定义时候一般定义为空。 它由很多的结点node组成 阅读全文
posted @ 2022-09-04 09:02 铜锣湾陈昊男 阅读(40) 评论(0) 推荐(0)
摘要:按顺序 阅读全文
posted @ 2022-09-04 08:49 铜锣湾陈昊男 阅读(3) 评论(0) 推荐(0)
摘要:速率 2.带宽:(带宽就是以上的一种传输速率,但是指的是最高速率) 3.吞吐量:吞吐量表示单位时间内通过的某个网络(或者是某个接口)的数据量,吞吐量的大小是受到以上的速率和带宽的影响的 4.时延: 阅读全文
posted @ 2022-09-04 08:46 铜锣湾陈昊男 阅读(13) 评论(0) 推荐(0)
摘要:1.就是 其中比较重要的是按照范围分类的网络: 广域网(wan):一般指的是跨地区的网络,是因特网的核心,比如跨越大西洋,各个大陆之间的网络就是广域网 城域网(man):一般指的是城市之间,一个地区之内的网络 局域网(lan):一般指的是企业或者学校这种网络,也就是我们常说的校园网和企业网,个人的热 阅读全文
posted @ 2022-09-04 08:44 铜锣湾陈昊男 阅读(33) 评论(0) 推荐(0)
摘要:交换方式分为:电路交换,分组交换,报文交换 电路交换:(也可以叫做专线) 分组交换:(分组交换机也叫做路由器) 分组交换过程当中将这个数据(报文)分组为多个数据段,每一个数据段加上首部,每一个组走的路由器线路不一定一样,但是最后都到达h2主机(主机进行拼装) 4.各个交换方式之间的对比: 阅读全文
posted @ 2022-09-04 08:38 铜锣湾陈昊男 阅读(7) 评论(0) 推荐(0)
摘要:3.不同的层次解决不同的问题,分开编程实现,这个就是类似于算法的分治思想。 阅读全文
posted @ 2022-09-04 08:30 铜锣湾陈昊男 阅读(4) 评论(0) 推荐(0)