- 博客(119)
- 收藏
- 关注
原创 bash
目录bash是一个shellbash shell的内置命令:typeshell的变量功能bash是一个shellshell是提供用户操作系统的一个接口,通过这个接口可以调用其他软件,比如man、chmod、vi等命令都是独立的应用程序,可以通过shell来操作这些应用程序,让这些应用程序调用内核来运行所需要的工作。内核(比如CPU进程、磁盘输入输出等)可以控制硬件来工作。b...
2019-10-21 17:45:20
477
原创 计算机概论
电脑的五大单元:输入单元,输出单元,内存,控制单元,算数逻辑单元cpu两种类型:RISC(reduced instruction set computer)精简指令;CISC(complex instruction set computer)复杂指令cpu内置的内存控制芯片对内存的工作频率最高是1600MHz(每秒几次),一般来说,每次频率能传输的数据量,大多为64位(电脑是32位还是64...
2019-10-21 10:51:02
324
原创 vim功能使用
光标移动 行首 0 、fn + 左箭头行尾 $ 、fn + 右箭头文首 gg文尾 G某行 nG (eg: 4G表示光标跳到第四行)光标右移n字符 n<space> (eg: 4<space>表示光标右移4字符) 删除 删除光标所在行 dd删除光标所在n行...
2019-07-21 18:32:51
250
原创 【latex】
镜像下载地址:www.tug.org/texlive/——on DVD——downloading the TeX Live ISO image and burning your own DVD——download from a nearby CTAN mirror——texlive2019.iso——install-tl-advanced.batoverleaf在线编辑/各类模板————...
2019-05-29 10:33:24
172
原创 Word页眉页码、公式编号、引用文献编号
页眉1、新建页眉想删掉。如果点击删除页眉会全部删掉。如果只删掉文字就会留下一条线。这个时候就在【开始】菜单中把边框设置为无边框,即可将单页的页眉删掉。2、想删掉封面和目录的页眉,从正文开始保留。【页面布局】-【分隔符】-【下一页】。在每个节点的时候都插入这个分页分隔符,这样是分小节。然后在每个节点都取消勾选链接上一节。页码1、想从正文开始出现页码。和页眉的分小节处理一样。但是要注意...
2019-04-08 17:06:18
3394
1
原创 【c++】
typedef或using:重定义类型struct结构#include <iostream>#include <iomanip>using namespace std;struct MyTimeStruct{ int year; int month; int day;};int main(){ MyTimeStruct MyTime = ...
2019-03-09 15:40:07
161
原创 【c++】第一二章
机器语言汇编语言高级语言软件=程序+文档————————————————————————————————封装:有限的对外接口,安全性好继承:意义在于软件复用改造扩展已有类来形成新的类多态:同样的消息作用在不同对象上可能引起不同的行为同样是打击行为,打篮球打乒乓球的方法和规则都不一样—————————————————————————————————...
2018-12-25 20:34:16
273
原创 【leetcode】841. Keys and Rooms
note:set集合的添加方法1、a = set('boy') #a = set(['b', 'o', 'y']) a.add('python') #a = set(['b', 'o', 'y', 'python']) 当做一个整体加入2、a = set('boy') #a = set(['b', 'o', 'y']) ...
2018-12-15 15:23:41
152
原创 【剑指offer】扑克牌顺子
运行时间:24ms占用内存:5732k排序后判断的# -*- coding:utf-8 -*-class Solution: def IsContinuous(self, numbers): # write code here if not numbers: return None numbers.so...
2018-10-21 21:51:56
256
原创 【剑指offer】翻转单词顺序列
运行时间:28ms占用内存:5848kPython依然简单,split之后reverse再join即可,只是还是忘记特殊情况的处理# -*- coding:utf-8 -*-class Solution: def ReverseSentence(self, s): # write code here mylist = s.split() ...
2018-10-21 21:09:49
209
原创 【剑指offer】左旋转字符串
运行时间:31ms占用内存:5732kPython很简单,因为字符串可以看做迭代器,直接切片分开即可# -*- coding:utf-8 -*-class Solution: def LeftRotateString(self, s, n): # write code here if not s: return s ...
2018-10-21 21:04:44
135
原创 链表的归并、快排
# Definition of ListNodeclass ListNode(object): def __init__(self, val, next=None): self.val = val self.next = next class Solution: """ @param: head: The head of link...
2018-10-14 00:04:12
157
原创 Python 异或寻找只出现一次的两个数
一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。例如数组为{1,3,5,7,1,3,5,9},找出7和9。/* 解法1:1、思路:(1)对于出现两次的元素,使用“异或”操作后结果肯定为0,那么我们就可以遍历一遍数组,对所有元素使用异或操作,那么得到的结果就是两个出现一次的元素的异或结果。(2)因为这两个元素不相等,所以异或的结果肯定不是0...
2018-10-10 22:38:45
1087
原创 数组元素交叉排列
https://blog.csdn.net/caopengcs/article/details/10196035https://blog.csdn.net/yuan8080/article/details/5705559
2018-09-28 11:36:31
867
原创 最长回文串(可不连续)、构成回文串需添加的最少字符
寻找回文串可以正序和倒序找非连续的公共子串,动归算法,最长公共子串为a则构成回文串需添加的最少字符为len(str)- ahttps://blog.csdn.net/carson0408/article/details/77776398有空补代码...
2018-09-25 21:56:57
389
原创 【剑指offer】和为S的连续正数序列
以为是n-sum题,输出所有的组合的可能,但是不是的,更简单一些,因为限制条件是必须连续的数两种方法第一种,利用数学知识归纳,数列长度为n,分成n为奇数和n为偶数两种情况import java.util.ArrayList;public class Solution { public ArrayList<ArrayList<Integer> > Fi...
2018-09-25 10:34:50
239
原创 【剑指offer】数组中只出现一次的数字
remove:删除特定元素第一次出现的时候,返回的是删除后的数组del:删除指定索引的元素 del a[2],返回的是删除后的数组pop:删除指定索引的元素,返回的是删除的元素有一个问题就是我不知道判断not in list 的时候O(n)的复杂度会不会影响运行时间:36ms占用内存:5624k# -*- coding:utf-8 -*-class Solution:...
2018-09-24 16:13:31
135
原创 【剑指offer】判断二叉树是否为平衡二叉树
平衡二叉树(Balanced Binary Tree),具有以下性质:它是一棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。第一种递归思路,根据定义来,递归返回(r-l)<1 and balancetree(r) and balancetree(l)但是这个自顶向下的递归下层结点会进行多次访问,相当于访问次数为1+2+。。。+n,时间复杂度为O(...
2018-09-24 15:43:31
149
原创 【剑指offer】二叉树的深度
层次遍历运行时间:28ms占用内存:5752k# -*- coding:utf-8 -*-# class TreeNode:# def __init__(self, x):# self.val = x# self.left = None# self.right = Noneclass Solution: de...
2018-09-24 15:15:48
165
原创 【剑指offer】数字在排序数组中出现的次数
想的是先二分查找,找到之后再找周围是否有相同运行时间:27ms占用内存:5752k# -*- coding:utf-8 -*-class Solution: def GetNumberOfK(self, data, k): # write code here if k not in data: return 0 ...
2018-09-24 15:00:25
123
原创 【剑指offer】两个链表的第一个公共结点
一个结点的next只有唯一确定的结点,所以若有公共结点,则第一个公共结点后的所有结点也必都为公共结点。先求出两个链表分别的长度,然后长的链表先走完长度差,然后再同时开始走,直到走到第一个相同结点。运行时间:36ms占用内存:5840k# -*- coding:utf-8 -*-# class ListNode:# def __init__(self, x):# ...
2018-09-24 14:40:40
89
原创 【剑指offer】数组中的逆序对
在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数P。并将P对1000000007取模的结果输出。 即输出P%1000000007使用归并排序,复杂度O(nlogn)若num[i]<num[j]就是顺序对;若num[i]>num[j]则是逆序对,而num[i~mid]区间所有值都会大于num[j],cnt+...
2018-09-24 14:08:43
111
原创 【剑指offer】第一个只出现一次的字符
运行时间:42ms占用内存:5856k用counter字典很简单# -*- coding:utf-8 -*-class Solution: def FirstNotRepeatingChar(self, s): # write code here from collections import Counter cs = Cou...
2018-09-24 11:55:32
100
原创 【剑指offer】丑数
我想的是判断丑数,超时;实际上可以自己去构造丑数超时的:# -*- coding:utf-8 -*-class Solution: def GetUglyNumber_Solution(self, index): # write code here def is_ugly(number): while (number%2==0)...
2018-09-24 11:48:42
90
原创 【剑指offer】把数组排成最小的数
输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。其实就是数组排序,只不过不是看自己数字的大小,而是比较和其他数字组合的时候,是不是自己放在前面的时候更小,是的话自己就能对比于那个数字放在前面。>>> d = {'data1':3, 'data2'...
2018-09-24 11:14:28
162
原创 【剑指offer】从1到n中1出现的次数
设N = abcde ,其中abcde分别为十进制中各位上的数字。 如果要计算百位上1出现的次数,它要受到3方面的影响:百位上的数字,百位以下(低位)的数字,百位以上(高位)的数字。① 如果百位上数字为0,百位上可能出现1的次数由更高位决定。比如:12013,则可以知道百位出现1的情况可能是:100~199,1100~1199,2100~2199,,...,11100~11199,一共12...
2018-09-24 10:09:27
161
原创 矩阵旋转
# -*- coding:utf-8 -*-import sysimport copy# 逆时针旋转90# 空间复杂度O(n^2),矩阵行列数无约束def ni_convert(a): m = len(a[0]) b = [[j[m-1-i] for j in a] for i in range(m)] return b# 逆时针旋转90# 前提是矩阵为N*N方阵# 空...
2018-09-23 23:41:23
171
原创 Python小程序
#coding=utf-8import sys----------Python2中输入整数------------N = input() ---------Python2、3中输入字符-----------s = raw_input()------------字符串转整数list--------------A = list(map(int,s.strip().split(' ')...
2018-09-23 19:33:50
363
原创 区块链或后端方面面经
1. 线程栈:先是会自动扩展,到达最大值才会溢出,溢出之后程序会收到一个段错误(java表现为异常),调高堆栈容量可能会增加内存开销和启动时间2. 堆和栈的区别:(总结,栈的一切由系统管理,所以堆有各种碎片问题)• 管理方式:栈由编译器自动管理;堆由程序员控制,使用方便,但易产生内存泄露。• 生长方向:栈向低地址扩展(即”向下生长”),是...
2018-09-20 18:00:23
1587
原创 八皇后问题
递归写法: # -*- coding:utf-8 -*-import sysimport copyglobal cntcnt = 0def not_danger(i,j,chess): for ii in range(i): if chess[ii][j]==1: return 0 ii,jj = i,j while (ii-1>=0 and jj-1>...
2018-09-12 13:40:27
109
原创 排序算法
#coding=utf-8#具有稳定性的算法:冒泡排序、插入排序、基数排序、归并排序#堆排序、归并排序:平均、最好、最坏均为O(nlogn);选择排序:平均、最好、最坏均为O(n^2)#快排:平均、最好为O(nlogn),最坏为O(n^2)#冒泡、插入排序:最好O(n),最坏和平均为O(n^2)#希尔排序:最坏O(n^1.3),最好O(n^2)#基数排序:O(d(n+k)),其中d为...
2018-09-02 13:33:42
93
原创 NOWCODER 剑指offer 最小的k个数
运行时间:33ms占用内存:5712k用sorted很简单# -*- coding:utf-8 -*-class Solution: def GetLeastNumbers_Solution(self, tinput, k): # write code here if k>len(tinput): return ...
2018-08-29 12:17:17
130
原创 NOWCODER 剑指offer 数组中出现次数超过一半的数字
运行时间:27ms占用内存:5728k用counter很容易实现# -*- coding:utf-8 -*-from collections import Counterclass Solution: def MoreThanHalfNum_Solution(self, numbers): # write code here if not ...
2018-08-27 14:30:53
109
原创 NOWCODER 剑指offer 字符串的排列
运行时间:57ms占用内存:5656k递归做的,主要是要考虑重复的问题,然后记得仔细检查条件语句看到大家讨论的答案都比较复杂,详细记录一下自己的思路其实就是做有重复元素的全排列工作,所以先固定第一位,然后是递归调用全排列函数(全排列除第一位之外的其他元素)。此时要考虑的是第一位不能同时出现多次重复元素,这就是每次轮到重复元素时,处理完后就把重复元素的count设置为0,接下来的...
2018-08-27 09:18:07
169
原创 NOWCODER 剑指offer 二叉搜索树与双向链表
原来题意的双向链表是left和right。小数指向大数是right,大数指向小数是left看了一下非递归算法,很妙,刚好是中序遍历的非递归运行时间:26ms占用内存:5732k需要注意第一次的时候,只是把中序遍历的第一个结点找到而已# -*- coding:utf-8 -*-# class TreeNode:# def __init__(self, x):# ...
2018-08-25 00:14:30
94
原创 NOWCODER 剑指offer 复杂链表的复制
用的最直接的建立一个一个node再建立next或者random关系运行时间:33ms占用内存:6720k# -*- coding:utf-8 -*-# class RandomListNode:# def __init__(self, x):# self.label = x# self.next = None# sel...
2018-08-24 22:34:54
148
原创 NOWCODER 剑指offer 二叉树中和为某一值的路径
题意原来是一定要从根节点一直到叶子结点,不能去中间结点路径一个可以从根不取到叶子结点的方法(最后序列没有根据长度排序),深度遍历# -*- coding:utf-8 -*-# class TreeNode:# def __init__(self, x):# self.val = x# self.left = None# s...
2018-08-24 21:32:54
107
原创 NOWCODER 剑指offer 二叉搜索树的后序遍历
注意二叉树和二叉搜索树的区别运行时间:27ms占用内存:5624k思想就是后序遍历,左右根;而搜索树,一定是左子树都小于根小于右子树。所以后续遍历每次序列的最有一个元素都是序列的中间值。# -*- coding:utf-8 -*-class Solution: def VerifySquenceOfBST(self, sequence): # write...
2018-08-24 17:09:47
100
原创 NOWCODER 剑指offer ※从上到下打印二叉树
教训:1、空序列的话返回[]而不是None2、for i in list: 如果最后一个循环list改变值的话,并不会再循环下去运行时间:31ms占用内存:5720k思路:每次保存上一层的所有结点,当左右子树都为空时,返回结果列表# -*- coding:utf-8 -*-# class TreeNode:# def __init__(self, x):#...
2018-08-24 16:28:44
82
原创 NOWCODER 剑指offer 栈的压入、弹出序列
运行时间:29ms占用内存:5860k一次通过(除了开头检查pop序列数字是不是在push中存在)思路是:但凡取了一个元素,说明元素前的所有元素都必然已经在栈中。开辟一个left序列保存一定已经在栈中的元素,所以下次取元素的时候一定不能取除最末尾外的其他在left中的元素。下次再取元素,则又将此元素前的元素加入left序列中。# -*- coding:utf-8 -*-clas...
2018-08-24 15:07:15
98
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人