自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 [leetcode]C函数参数

/** * Return an array of size *returnSize. * Note: The returned array must be malloced, assume caller calls free(). *///返回一维数组, returnSize是指向size的指针int* func(int rowIndex, int* returnSize) { int...

2019-03-31 14:38:13 782

原创 [leetcode]28. 实现strStr() (KMP)

1.题目:实现 strStr() 函数。给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回 -1。示例 :输入: haystack = "hello", needle = "ll"输出: 22.代码:KMP算法:void get_next(int *next,...

2019-03-23 01:09:09 223

原创 最小生成树

1.简介一个连通图的生成树是图的极小连通子图,它包含图中的所有结点,并且只含尽可能少的边,即对于一个生成树,若砍去一边,就会变成非连通图,若增加一个边,就会形成回路。最小生成树为权值和最小的那棵树。2.性质不唯一,当各边权值互不相等时唯一;边的权值之和唯一;边数为定点数-1;3.构建最小生成树的主要两种方法:Kruskal算法Prim算法...

2019-03-21 17:47:38 180

原创 排序算法(内排序)

插入排序直接插入+折半插入+希尔排序交换排序冒泡排序+快速排序选择排序简单选择排序+堆排序归并排序基数排序算法种类时间复杂度空间复杂度稳定直接插入O(n^2)O(1)Y冒泡O(n^2)O(1)Y简单选择O(n^2)O(1)N希尔O(1)N快速O(nlog2n)O(nlog2n)N堆O(nlog...

2019-03-20 20:09:31 169

原创 [leetcode]287. 寻找重复数(快慢指针)

1.题目:给定一个包含 n + 1 个整数的数组 nums,其数字都在 1 到 n 之间(包括 1 和 n),可知至少存在一个重复的整数。假设只有一个重复的整数,找出这个重复的数。2.代码://快慢指针法:将数组看做一个链表,nums[fast]视为下一个节点。有重复数就意味着有回路,快慢指针法找回路入口、//nums 数组中的数字都是在 1 到 n 之间,所以不会越界。int find...

2019-03-08 20:38:00 588

原创 [leetcode]3. 无重复字符的最长子串

1.题目:给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。输入: "abcabcbb"输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。2.代码://table[]用来存储128个ascii码的出现次数,只能是0,1,2,在start->i-1之间的只能是1,2//从start->i-1要求是无重复字符的字符创//对一个字符...

2019-03-08 10:39:08 148

原创 [leetcode]169. 求众数(摩尔投票法)

1.题目:给定一个大小为 n 的数组,找到其中的众数。众数是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素。你可以假设数组是非空的,并且给定的数组总是存在众数。2.代码:int majorityElement(int* nums, int numsSize) { int m=0,n=0; for(int i=0;i<numsSize;i++){ if(.........

2019-03-05 15:00:40 215

原创 C++ cast总结

低风险转换:int ⇒ float,char ⇒ int,void* ⇒ int *

2022-10-31 10:08:50 207 1

原创 C++ 智能指针总结

引入了个。

2022-10-30 20:08:46 527

原创 C++左值右值总结

右值:没有地址的字面值、临时值;左值:有地址的变量就是左值;

2022-10-30 16:06:43 176

原创 mount

Unix systems have a single directory tree. All accessible storage must have an associated location in this single directory tree. This is unlike Windows where (in the most common syntax for file paths) there is one directory tree per storage component (dri

2022-05-16 16:47:48 97

原创 Linux安装HDF5

https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-1.8/hdf5-1.8.21/src/tar -xvf hdf5-1.2.2.tar.gzcd./configure --prefix=/usr/local/hdf5 # 指定安装路径makemake check # 验证安装是否成功make install

2022-01-20 19:04:25 4940

原创 Linux 下安装python

作者:Vijay Singh Khatri译者:geekpi步骤 1:首先,安装构建 Python 所需的开发包  在 Debian 上$ sudo apt update  $ sudo apt install build-essential zlib1g-dev \  libncurses5-dev libgdbm-dev libnss3-dev \  libssl-dev libreadline-dev libffi-dev curl  在 Fedora 上:$ sudo dnf g

2021-06-21 15:12:52 10205 2

原创 MySQL问题汇总

1. 导入employees.sql.sql目录下shift+右键打开PowerShell ⇒ mysql -u lsang -p 输入密码:1234进入mysql ⇒ 命令:source employees.sql。2. 查看mysql数据库文件存储位置,文件介绍:show global variables like "%datadir%";1) .frm文件:存储数据表的框架结构,文件名与表名相同,每个表对应一个同名frm文件,与操作系统和存储引擎无关,即不管MySQL运行在何种操作系统上,

2021-05-28 14:08:47 130

原创 P, NP

多项式:axn +bxn-1+c,x的最高位为n的多项式。时间复杂度:用来表示一个算法运行的时间效率。冒泡排序的时间复杂度为O(n2) ,取其最高次,可以看出,这是一个时间复杂度为多项式的表示方式。在排序这个大问题里,可以找到一种时间复杂度为多项式O(n2)的算法(如冒泡排序法)来求解排序问题的,⇒ 排序问题是一个有多项式时间算法的问题。P类问题:存在多项式时间算法的问题。(P:polynominal,多项式)。 当计算机处理的数据达到100万个的时候,时间复杂度分别为O(n2) 和 O(en).

2021-03-31 17:24:41 153

原创 ubuntu Cmake 安装

https://cmake.org/download/下载安装包tar -xvfc make-3.20.0-rc4.tar.gzcd make-3.20.0-rc4./bootstrapmakesudo make installcmake --version默认安装在 /usr/local/bin/https://blog.csdn.net/MJ_Lee/article/details/114698430⇒ 遇见的问题

2021-03-12 16:11:00 127

原创 Linux

ubuntu Could not find OpenSSL. ⇒ sudo apt-get install libssl-devThe following packages have unmet dependencies ⇒ sudo apt-get install aptitudesudo aptitude install libssl-dev登录界面failed to authenticate ⇒ 右上switch account

2021-03-12 16:10:09 120

原创 Boyer-Moore 投票算法求过半数

1. 算法步骤维护候选众数 candidate 以及该候选的出现次数 count; 初始化: candidate 为任意值,count 为0;遍历数组nums, 对于每个元素 x: 1). 若count == 0,则 candidate = x ;2). 若x == candidate x ,则count++;否则count--;遍历完成后,candidate 即为整个数组nums的众数。2. 代码实现class Solution: def majorityElement(self,

2020-12-01 15:44:01 399

原创 ubuntu sublime 更新记录

使用PPA更新:sudo add-apt-repository ppa:webupd8team/sublime-text-3sudo apt-get updatesudo apt-get install sublime-textPPA (Personal Package Archives), 为Ubuntu Launchpad提供的一项服务, 它允许个人用户上传软件源代码,通过 Launchpad 进行编译并发布为二进制软件包,作为 apt/新立得源供其他用户下载和更新。获取方法:launchp

2020-11-21 17:03:00 211

原创 [leetcode]22. 括号生成

1. 题目:数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。示例:输入:n = 3输出:[ "((()))", "(()())", "(())()", "()(())", "()()()" ]2. 代码:DFS回溯class Solution: def generateParenthesis(self, n: int) -> List[str]:

2020-10-25 16:58:35 134

原创 [leetcode] 面试题 08.07. 无重复字符串的排列组合

1. 题目:无重复字符串的排列组合。编写一种方法,计算某字符串的所有排列组合,字符串每个字符均不相同。示例1: 输入:S = "qwe" 输出:["qwe", "qew", "wqe", "weq", "ewq", "eqw"]2. 代码:DFS 模版+ used[]class Solution: def permutation(self, S: str) -> List[str]: lens = len(S) if lens == 0:

2020-10-25 16:53:36 285

原创 [leetcode]17. 电话号码的字母组合

1. 题目:给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。输入:"23"输出:["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"].2. 代码:递归回溯class Solution: def letterCombinations(self, digits: str) -> List[str]: lens = le

2020-10-25 16:23:42 262

原创 [leetcode]51. N 皇后

1.题目:n 皇后问题研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击。输入:4输出:[ [".Q..", // 解法 1 "...Q", "Q...", "..Q."], ["..Q.", // 解法 2 "Q...", "...Q", ".Q.."]]解释: 4 皇后问题存在两个不同的解法。2.代码:class Solution: def solveNQueens(self, n: int) -> List

2020-10-18 21:02:30 189

原创 [leetcode]1. 两数之和

1.题目:给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]2.代码:class Solution: def twoSum(self, nums: List[int], target

2020-10-18 20:04:41 113

原创 [leetcode]92. 反转链表 II

1.题目:反转从位置 m 到 n 的链表。请使用一趟扫描完成反转。说明: 1 ≤ m ≤ n ≤ 链表长度。输入: 1->2->3->4->5->NULL, m = 2, n = 4输出: 1->4->3->2->5->NULL2.代码:# Definition for singly-linked list.# class ListNode:# def __init__(self, x):# self.v

2020-10-18 19:47:14 177

原创 [leetcode]347. 前 K 个高频元素(堆)

1.题目给定一个非空的整数数组,返回其中出现频率前 k 高的元素。示例 1:输入: nums = [1,1,1,2,2,3], k = 2输出: [1,2]示例 2:输入: nums = [1], k = 1输出: [1]2.代码使用堆处理问题(堆排序):****************************堆即用数组表示的树状结构****************************1.使用库函数:class Solution: def topKFreque

2020-10-12 15:02:00 187

原创 [leetcode]167. 两数之和 II - 输入有序数组

1.题目:给定一个已按照升序排列 的有序数组,找到两个数使得它们相加之和等于目标数。函数应该返回这两个下标值 index1 和 index2,其中 index1 必须小于 index2。输入: numbers = [2, 7, 11, 15], target = 9输出: [1,2]解释: 2 与 7 之和等于目标数 9 。因此 index1 = 1, index2 = 2 。2.代码:class Solution: def twoSum(self, numbers: List[in

2020-10-05 20:59:45 202 1

原创 [leetcode]220. 存在重复元素 III

1.题目:在整数数组 nums 中,是否存在两个下标 i 和 j,使得 nums [i] 和 nums [j] 的差的绝对值小于等于 t ,且满足 i 和 j 的差的绝对值也小于等于 ķ 。如果存在则返回 true,不存在返回 false。输入: nums = [1,5,9,1,5,9], k = 2, t = 3输出: false2.代码:分析:与(219)存在重复元素 II不同在于在k窗口基础上,将相等改为绝对值。==> 哈希表 + 桶排序:"""用哈希表模拟桶,hash[nu

2020-10-05 20:45:15 195

原创 [leetcode]219. 存在重复元素 II

1.题目:给定一个整数数组和一个整数 k,判断数组中是否存在两个不同的索引 i 和 j,使得 nums [i] = nums [j],并且 i 和 j 的差的 绝对值 至多为 k。输入: nums = [1,2,3,1,2,3], k = 2输出: false2.代码:'''要维护一个长度为k的窗口,只用考虑窗口内是否有重复;保证i-HashDict[num]<=k,即当前num与dict内相同num下标差<=k'''class Solution: def conta

2020-10-05 20:11:04 211 1

原创 [leetcode]4. 寻找两个正序数组的中位数

1.题目给定两个大小为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的中位数。进阶:你能设计一个时间复杂度为 O(log (m+n)) 的算法解决此问题吗?输入:nums1 = [1,3], nums2 = [2]输出:2.00000解释:合并数组 = [1,2,3] ,中位数 22.代码分析:# m+n偶数: ((m+n)/2 + (m+n)/2 +1)/2,奇数: (m+n)/2+1# ==>找出第(m+n)/2或(m+n)/2+

2020-10-05 19:41:28 203

原创 α-β剪枝算法解释

剪枝算法解释:(3)=min((4)=3,(5)=17)=3;(2)=max((3)=3、(6)=?) ==>求(6);(6)=min((7)=2,(8)=?) ==>(6)<=2;==>(2)=max((3)=3、(6)<=2)=3 ,即只要访问了(7)就确定了(2)的值,(8)就不用访问了,即剪枝;算法详细信息,参考:解释1、解释2;...

2020-05-03 02:53:00 1852

原创 QEMU、GDB调试QEMU

1

2020-04-28 17:28:32 2031

原创 8253可编程计数器/定时器

8253有3个16位的counter(0,1,2),其中counter0用作IRQ0;PC输入频率为1193180Hz ==>每次(count-1)需1/1193180s,则若想设置10ms中断则counter0应置为1193180/100;counter配置:8253counter(0,1,2)置位端口分别为端口(40h,41h,42h),16位;端口43h配置8253Mode Co...

2020-04-01 18:11:58 2530

原创 [keras] MNIST下载太慢

下载文件:mnist.npz直接移到文件夹.keras\datasets下,本人地址为C:\Users\Zzmu\.keras\datasets

2020-03-19 15:11:22 780

原创 tensorflow、keras安装过程记录

使用 pip 下载,速度较快: tensorflow-gpu:pip install tensorflow-gpu -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com keras: pip install keras -i http://pypi.douban.com/simple/ --trusted-host ...

2020-03-19 03:36:05 490

原创 jupyter安装问题

使用Anaconda安装自带jupyter,但启动后jupyter notebook后发现没有python3解决方法:开始菜单中Anaconda Navigator (Anaconda3),卸载自带jupyter notebook;命令重新安装解决问题:pip install jupyter -i http://pypi.douban.com/simple/ --trusted-host p...

2020-03-06 20:08:01 406

原创 数据结构总索引

1.排序算法内排序2.二叉树索引二叉树遍历非递归算法二叉树层次遍历线索二叉树遍历二叉树后序遍历寻找结点路径3.图索引非连通图深度优先遍历和广度优先遍历最小生成树拓扑排序的实现Dijkstra求单源最短路径4.其他数据结构散列表快慢指针并查集字典树5.算法数组循环左移KMP算法...

2020-03-05 13:12:12 261

原创 二叉树索引

二叉树遍历非递归算法二叉树层次遍历线索二叉树遍历二叉树后序遍历寻找结点路径

2020-03-04 23:49:21 567

原创 图索引

非连通图深度优先遍历和广度优先遍历最小生成树拓扑排序的实现Dijkstra求单源最短路径

2020-03-04 23:48:12 657

原创 总索引

汇编地址与偏移地址;8086、80286、80386介绍;8086地址分配、计算机启动过程;分页、线性地址与物理地址;GDT、GDT描述符;保护模式下段寄存器:段选择子;TSS、TSS描述符;LDT、LDT描述符;注:LDT描述符、TSS描述符为GDT描述符S='0’时的特例;特权级:DPL、RPL、CPL;调用门;任务门;中断门、陷阱门;注:中断门与陷阱门只能存放在IDT,任务门...

2020-03-04 22:29:26 360

空空如也

空空如也

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

TA关注的人

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