- 博客(31)
- 资源 (1)
- 收藏
- 关注
原创 Record - 1
两数相加/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode() {} * ListNode(int val) { this.val = val; } * ListNode(int val, ListNode next) { this.val = val; this.next = next;
2021-05-28 00:32:18
83
原创 代码能力提升Day1
顺序打印1、使用lock2、使用CountDownLatchclass Foo { CountDownLatch count1 = new CountDownLatch(1); CountDownLatch count2 = new CountDownLatch(1); public Foo() { } public void first(Runnable printFirst) throws InterruptedException { .
2021-05-28 00:30:42
83
原创 死锁
死锁:两个或两个以上的线程在执行过程中,因争夺资源而造成的一种互相等待状态。四个必要条件:互斥 请求与保持 不剥夺 循环等待:若干进程头尾相接的循环等待资源关系死锁排除:可以撤销陷入死锁的全部进程 可以逐个撤销陷入死锁的进程,直到死锁不存在 从陷入死锁的线程中逐个强迫放弃所占用的资源,直至死锁消失...
2018-10-19 16:14:15
131
原创 OSI七层模型
OSI七层模型物理层:利用传输介质为数据链路层提供物理连接,实现比特流的透明传输。尽可能屏蔽掉具体传输介质和物理设备的差异数据链路层:(MAC介质访问控制子层、LLC逻辑链路控制)负责建立和管理节点间的链路。通过各种控制协议(差错控制、流量控制),将有差错的物理信道变为无差错、能可靠传输数据帧的数据链路。MAC:解决共享型网络中多用户对信道竞争的问题,完成网络介质的...
2018-10-19 16:05:00
275
原创 区块链笔记5
以太坊Solidity语言知识点函数体+view:不改变合约内部数据 pure:不访问合约内部数据继承:通过接口访问父类的函数/事件/修饰符OpenZepplin库:主打安保与社区审查的Solidity库,提供一系列保证智能合约编程安全的方法函数修饰符:用于修饰已有函数,在其他语句执行前...
2018-10-18 14:45:43
98
原创 进程管理
进程管理1.程序的顺序执行 特性:1)顺序性 2)封闭性 3)可再现性2.程序的并发执行 特征:1)间断性 2)失去封闭性 3)不可再现性3.进程的特征 1)结构特征:由程序段、相关数据段和PCB三部分构成进程实体 2)动态性:由创建而产生,由调度而执行,由撤销而...
2018-10-10 13:40:44
96
原创 操作系统复习
操作系统复习1.操作系统的目标 1.有效性:提高系统资源利用率 2.方便性 3.扩充性 4.开放性:系统能遵循世界标准规范2.操作系统的作用 1.OS作为用户与计算机硬件系统之间的接口:命令行方式、系统调用方式、图形窗口方式 2.OS作为计算机系统资源的管理者 3.OS实现了对计...
2018-10-10 13:10:45
2852
原创 计算KL散度
计算KL散度import mathp=list(map(int,input().strip().split()))q=list(map(int,input().strip().split()))def cal_prob(ss): s_prob={} for item in ss: if item not in s_prob.keys(): ...
2018-10-01 00:02:24
1274
原创 区块链笔记4
以太坊智能合约转账以太坊智能合约的转账方式分为如下3种:1.创建合约时转账:在构造函数中添加payable修饰符contract Sample:{ function Sample() payable{ }}2.执行合约方法时转账:给需要支持转账的方法添加payable修饰...
2018-09-25 22:22:10
109
原创 区块链笔记2
比特币创始人:中本聪核心:基于节点的去中心化共识+工作量证明机制 节点通过工作量证明机制获得参与到系统的权力,每10分钟将交易打包到区块中。比特币账本:从技术的角度看,是一个状态转换系统比特币上限:2100万(准确值为2099.999……万),截至目前网...
2018-09-25 22:09:54
92
原创 区块链笔记1
区块链本质:去中心化的分布式账本数据库区块链:分布式账本 区块:账本中的一页1980~1990:匿名电子现金协议(乔姆盲签技术)~~还是中心化的 1998:b-money,基于计算难题+去中心化共识 200...
2018-09-25 21:51:54
131
原创 计算1!*2!*......*N!,求结果末尾连续0的个数
小红书笔试,计算1!*2!*......*N!,求结果末尾连续0的个数#include<iostream>#include<algorithm>#include<vector>using namespace std;int getZero(int n){ int count = 5, res = 0; if (n < 5) retu...
2018-09-15 17:29:22
789
2
原创 双截棍字符串
顺丰笔试第一道编程题,求“双截棍字符串”#include<iostream>#include<string>using namespace std;int main(){ string str; cin >> str; int len1 = 1, len2 = 1, len3 = 1, len; int begin = 0, max = ...
2018-09-15 13:07:40
287
原创 面试记录
1.数组和链表的区别数组在内存中连续存放,链表的存放位置不受约束; 数组查询效率高,链表查询需要遍历复杂度为O(n); 数组插入删除不灵活,链表插入删除容易; 数组大小固定,不能扩展,链表大小不固定,方便扩展;2.如何判断单链表是否有环设置两个指针,慢指针slow步长为1,快指针fast步长为2,若slow与fast相遇则链表有环,否则无环;3.如何寻找单链表环的入口设置两个...
2018-09-11 21:35:43
204
原创 海量数据处理
1.Top K 问题利用快排,冒泡法排序,将最大的K个值沉底,算法复杂度为O(kn); 利用堆,小根堆找最大的K个数,大根堆找最小的K个数(建堆O(klogk) 比较+排序O( (n-k)*logk) );2.中位数问题利用两个堆,初始选中一个数M作为基准,比M大的加入小根堆,比M小的加入大根堆,当两个堆的节点数差值为2时,将多的一边堆顶放入少的一边,多的新堆顶为M; 利用桶排序,将...
2018-09-11 21:17:15
96
原创 C++逆波兰实现
#include<iostream>#include<string>#include<map>#include<stack>#include<vector>using namespace std;bool getFirst(char a,char b){ map<char,int> opr; opr.ins...
2018-09-04 16:45:24
484
原创 数据链路层
数据链路层 功能:1.向网络层提供一个定义良好的服务接口 2.处理传输错误(发送接收bit) 3.调节数据流,确保慢速的接收方不会被快速的发送方淹没 服务:1.无确认无连接:局域网、以太网 ...
2015-12-05 22:08:43
264
转载 计算由N个五角形组成的圈的生成树的数目
计算由N个五角形组成的圈的生成树的数目先画一个由N个点和N条边组成的圈,称这个圈为“核心圈”,然后对于核心圈的每一条边,将其扩展成一个五角形圈,也就是增加3个点和4条边,这样就形成了一个由N个五角形组成的五角形圈,简称N五角形圈。分析:每一个生成树方案必定要从原图删去n+1条边 1.选择要删除两条边的五角形,有n种方案(删除核心圈的那条边) 2.为删除两条边
2015-08-27 19:38:21
476
原创 求方程cos(x)-x=0的一个实根
求方程cos(x)-x=0的一个实根#include #include double fun(){ double x0,x1=0.0; while(fabs((float)x0-x1)>0.000001){ x0=x1; x1=cos(x0); } return x1;}main(){ printf("Root =%f\n",fun());
2015-06-04 22:56:14
1199
原创 二进制数逆转,并以十进制输出
#include#includeusing namespace std;void main(){ int result=0, len,aver; char str[100], temp; cout cin >> str; len = strlen(str); aver = len / 2; for (int k = 0; k
2015-05-22 12:20:28
420
转载 括号匹配
#include //malloc,realloc#include //含有overflow#include //exit()#includeusing namespace std;#define S_SIZE 100 //栈的空间大小#define STACKINCREAMENT 10//增加空间struct SqStack{ in
2015-05-22 10:18:18
351
原创 判断回文数组
#includeusing namespace std;void judge(char *str){ int len = strlen(str), aver = len / 2; for (int i = 0; i if (str[i] != str[len-1]){ cout return; } else len--; }
2015-05-22 00:45:41
1153
原创 删除子串
#includeusing namespace std;int getsubstring(char *str,char *sub,char *result){ int count=0; while(*str!='\0'){ if (strncmp(str, sub, strlen(sub)) == 0){ count++; str = str + st
2015-05-22 00:00:01
284
转载 Joseph环学习
约瑟夫环(约瑟夫问题)是一个数学的应用问题:已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围。从编号为k的人开始报数,数到m的那个人出列;他的下一个人又从1开始报数,数到m的那个人又出列;依此规律重复下去,直到圆桌周围的人全部出列。通常解决这类问题时我们把编号从0~n-1,最后结果+1即为原问题的解。递归方法:#includeusing namespac
2015-05-21 21:11:56
276
转载 Huffman编码学习
自己学习时用来帮助理解的代码,时间太久,忘记从哪里搞到的程序就不表明出处了#include #include #include #define N 50 //叶子结点数#define M 2*N-1 //树中结点总数typedef struct{ char data; //结点值 int weight;
2015-05-21 19:34:33
284
原创 拼音转数字
拼音转数字输入是一个只包含拼音的字符串,请输出对应的数字序列。转换关系如下:描述: 拼音 yi er san si wu liu qi ba jiu 阿拉伯数字 1 2 3 4 5 6 7 8 9输入字符只包含小写字母,所有字符都可以正好匹配运行时间限制:无限制
2015-05-19 22:39:25
825
原创 分解字符串
问题描述:按要求分解字符串,输入两个数M,N;M代表输入的M串字符串,N代表输出的每串字符串的位数,不够补0。样例输入:输入2,8, “abc” , “123456789”,样例输出:“abc00000”, “12345678“, ”90
2015-05-19 00:01:14
372
原创 圣诞老人的礼物-Santa Clau’s Gifts
描述圣诞节来临了,在城市A中圣诞老人准备分发糖果,现在有多箱不同的糖果,每箱糖果有自己的价值和重量,每箱糖果都可以拆分成任意散装组合带走。圣诞老人的驯鹿最多只能承受一定重量的糖果,请问圣诞老人最多能带走多大价值的糖果。输入第一行由两个部分组成,分别为糖果箱数正整数n(1 输出输出圣诞老人能带走的糖果的最大总价值,保留1位小数。输出为一行,以换行符结束。样例输入4 15100 4
2015-05-16 23:25:22
3382
原创 判断游戏胜者-Who Is the Winner
描述Alice和Bob在玩一个游戏,每一局中他们每人获得一个16进制数串,计算它对应的二进制数串中有多少个连续的1序列块(单个的1也算作序列块)。块数多者胜利,请判断游戏的胜者并输出,若平局则输出Tie,比如样例中的第一组数据为Alice: 0xfa425 Bob: 0xab3672。Alice的数据转换为2进制串后为11111010010000100101,其中有6个连续的1序列块
2015-05-16 16:46:04
973
原创 情报破译-Cryptanalysis
描述A国和B国正在进行一场战争。A国通过间谍知道B国的情报加密规则为:1. 仅对字母加密,其他符号保留(如空格,逗号等)2. 对第i个单词(i从1开始)的加密方法是把第i个单词反转(如abc变成cba),然后对单词内的每个字母采用经典的Caesar加密法,循环后移i个字母。例如:第5个单词的加密表如下所示:密码字母:A B C D E F G H I J K L
2015-05-16 15:55:33
894
原创 好的开始
小虾米从今天开始要发愤图强了!学习编程已经有一段时间了,却始终不敢动手去做,这样下去是不会有进步的吧所以下了很大的决心,要寻找一个途径来强迫自己前进以后我会用这个博客来记录我编程成长的每一步是的,就是这样Allez!!!
2015-05-16 15:53:40
257
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人