- 博客(95)
- 资源 (6)
- 收藏
- 关注
原创 C/Cpp 中 Hello World 的前世今生
在程序界,似乎有一个不成文的规定,不管是学啥,都要先写一个 Hello world, 要是写成功了,那就证明,你对这个东西已经了解了大半;要是失败了,那就得继续加油。那么在 C/Cpp 世界里,一个 Hello World 的程序,究竟是如何把我们写的那三两行代码转变成一个输出呢?这里面代码是如何转化的,又是如何被搞成一个可执行文件,系统又是如何调用这个程序的呢?书中总是告诉我们,一段代码...
2018-04-27 00:28:40
564
原创 区块链中的几种共识机制
工作量证明,权益证明,委托权益证明,瑞波共识协议 提要: 1. 工作量证明就是全网解决同一个难度问题,谁先证明出来谁赢 2. 权益证明则是每个节点都有自己的难度问题,谁先证明出来谁赢。 P.S. 简单来说就是对于工作量证明,所有节点的难度系数是一样的,但是对于权益证明来说,每个节点的难度系数是不一样的。工作量证明说到区块链的证明机制,首先不得不提的是比特币使用的工作量证明机制(Po...
2018-04-21 13:06:41
3504
原创 10分钟深入浅出 RSA 算法
RSA 是目前使用最广泛的非对称加密密码算法,也称为公钥密码算法。它的名字是由它的三位开发者 Ron Rivest、Adi Shamir 和 Leonard Adleman 的 first name 的首字母组成的。P.S. 对称密码是指在加密和解密时使用同一密钥的方式。 非对称加密则是指在加密和解密时使用不同密钥的方式。1.RSA 加密在 RSA 中,明文、密钥和...
2018-04-11 22:36:49
620
翻译 高效率(内存)的双向指针链表
问题: 如何只用一个指针节点实现双向链表?英语能力有限,翻译起来不会很准确,因此在这里先做一下这篇文章的核心思想阐述: 使用一个指针,通过异或保存上一个节点的地址以及下一个节点的地址。 比如:2^3 = 1; // 保存 1,就是本文中 ptrdiff 保存的值2^3^2 = 3; // 异或 2 之后可以得到 3假设现在有三个节点 prev, current, nextc...
2018-04-11 21:11:02
913
翻译 C语言泛型链表
不像 C++ 和 Java, C 语言不支持泛型。如何用C语言创建一条支持所有数据类型的链表? 在C语言里,我们可以使用 void 指针和函数指针来支持泛型功能。void 指针最牛逼的地方就在于它支持各种数据类型,当然所有数据类型的指针大小都是一样的,所以我们总是可以创建一个指针节点。函数指针需要处理存储在 void 指针里这内容。下面是一个用 C 语言实现的泛型链表。
2018-04-11 10:10:24
942
原创 区块链-默克尔树(Merkle Tree)
Merkle Tree 也被成为 Hash Tree,见名思意,这种树其实就是用来存储 hash 值的一种树。关于hash我们在之前的文章已经说过了,对于一个输入,都有一个唯一的长度的固定的输出,且以我们目前的科技状况,无法找到两个不同的输入使得输出一样。 简单来说就是 y = H(x), y’ = H(x’) 我们无法找到 x != x’, 但 y = y’从以上这张图,我可以...
2018-04-07 21:44:54
4312
原创 公钥私钥加密和SHA256
公钥和私钥公钥(Public Key)与私钥(Private Key)是通过一种算法得到的一个密钥对(即一个公钥和一个私钥),公钥是密钥对中公开的部分,私钥则是非公开的部分。公钥通常用于加密会话密钥、验证数字签名,或加密可以用相应的私钥解密的数据。公钥和私钥是成对出现的,我们会保留有自己的私钥,同时公开自己的公钥。一个很典型的例子是GitHub的使用。我们通常不会使用账号密码来管理自己的项...
2018-03-29 23:40:06
17897
转载 warning: directory not found for option ' '
原文ld: warning: directory not found for option '-L/Users/frenck/Downloads/apz/../iOS Analytics SDK/Library' 解决方法:选择项目名称----->Targets----->Build Settings----->Search Paths----
2015-12-07 14:38:31
354
原创 Spark开发问题集锦
1、使用SparkContex.makeRDD , 生成一个 RDD[BasicBSONObject] 的 RDD因为 makeRDD 的函数参数是一个数组,所以先生成一个数组val bson = new BasicBSONObject bson.put("name",spark) bson.put("value",123)val array = Array(
2015-07-13 13:41:43
747
转载 JDBC中No operations allowed after connection closed
整理自csdn论坛,点击这里看原帖第一次调用此方法没问题 可第二次就出现下面的问题(与数据库相关的操作,比如插入,查询等)com.mysql.jdbc.exceptions.MySQLNonTransientConnectionException: No operations allowed after connection closed这个问题怎么解决啊 只有把D
2015-07-13 10:31:23
7916
1
转载 Linux非管理员用户无法登陆图形界面
我的问题是管理员账号无法登陆,我尝试了非常多的方法,都不管用,搞了好几个小时,还是没搞出来,今天不死心,又到处百度,看到一篇百度经验的文章,如果是技术贴,我通常不看百度经验或者百度知道啥的东西,因为觉得这些地方解决的通常都是小问题,然后今天觉得还是得死马当活马医一下,就尝试了一下竟然可以了。经验里写的是非管理员,我的问题是管理员因此先按alt+control+F1进入命令行,输入管
2015-03-26 20:10:09
4715
转载 ERROR 1045 (28000): Access denied for user root@localhost (using password: NO/YES)
博客出处:脚本之家:http://www.jb51.net/LINUXjishu/10981.html错误描述: Mysql中添加用户之后可能出现登录时提示ERROR 1045 (28000): Access denied for user的错误.删除user.user中值为NULL的,或更新NULL为test 1)delete from user where user is NU
2015-03-24 20:45:06
581
原创 Leetcode:Longest Common Prefix 最长公共前缀
Write a function to find the longest common prefix string amongst an array of strings.这题应该没什么难度,顶多就考虑一下如果strings头是空格算不算公用前缀,这个我也不知道,系统判定后才知道应该是算的。class Solution {public: string longestC
2015-03-04 20:24:21
511
原创 leetcode:Plus One
Given a non-negative number represented as an array of digits, plus one to the number.The digits are stored such that the most significant digit is at the head of the list.这个就是看第一位会不会被进位,如果被进位
2015-03-04 00:14:12
489
原创 leetcode:Permutations排列
Given a collection of numbers, return all possible permutations.For example,[1,2,3] have the following permutations:[1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], and [3,2,1].根据给定的数组进行排列组合,这
2015-02-27 22:36:53
492
原创 leetcode:Triangle 三角形
Given a triangle, find the minimum path sum from top to bottom. Each step you may move to adjacent numbers on the row below.For example, given the following triangle[ [2], [3,4], [
2015-02-25 14:10:14
503
原创 leetcode:Rotate Array旋转数组
Rotate an array of n elements to the right by k steps.For example, with n = 7 and k = 3, the array [1,2,3,4,5,6,7] is rotated to [5,6,7,1,2,3,4].Note:Try to come up as many solutions as yo
2015-02-24 13:35:16
768
原创 操作系统——文件管理,基于块的索引分配和位表
/* 给出一个磁盘块序列:1、2、3、……、500,初始状态所有块为空的,每块的大小为2k。 选择使用位表、链式空闲区、索引和空闲块列表四种算法之一来管理空闲块。 对于基于块的索引分配执行以下步骤:随机生成2k-10k的文件50个,文件名为1.txt、2.txt、……、50.txt,按照上述算法存储到模拟磁盘中。删除奇数.txt(1.txt、3.txt、……、49.txt)文件
2014-12-03 21:43:06
4872
原创 leetcode:Pow(x, n)
Implement pow(x, n).没有考虑INT_MIN 和 INT_MAX导致错了两次贴上挫挫的代码class Solution {public: double pow(double x, int n) { if (x-0.000001 && n<0) return x;//it should be false; else if (x-0.000001)
2014-11-27 12:20:04
565
原创 leetcode:sort colors排序颜色
Given an array with n objects colored red, white or blue, sort them so that objects of the same color are adjacent, with the colors in the order red, white and blue.Here, we will use the integers
2014-11-24 20:24:30
774
原创 leetcode:Remove Duplicates from Sorted Array去掉排序数组中重复的元素
class Solution {public: int removeDuplicates(int A[], int n) { if (A==NULL || n<1) return 0; int p_one = 0; for (int i = 1; i < n; ++i) if (A[i-1]!=A[i]) A[++p_one] = A[
2014-11-24 16:35:57
547
原创 leetcode:Remove Element删除元素
Given an array and a value, remove all instances of that value in place and return the new length.The order of elements can be changed. It doesn't matter what you leave beyond the new length.
2014-11-18 13:51:31
501
原创 leetcode:Single Number单个数字
Given an array of integers, every element appears twice except for one. Find that single one.Note:Your algorithm should have a linear runtime complexity. Could you implement it without using ext
2014-11-18 13:20:34
488
原创 leetcode:Length of Last Word最后一个单词的长度
Given a string s consists of upper/lower-case alphabets and empty space characters ' ', return the length of last word in the string.If the last word does not exist, return 0.Note: A word is
2014-11-17 13:06:08
500
原创 leetcode:Valid Palindrome 合法回文
class Solution {public: bool isPalindrome(string s) { int tail = s.length() -1 ; int head = 0; while (head < tail) { while (!isAlpha(s[tail]) && tail>head) --tail;
2014-11-17 12:53:52
613
原创 leetcode:ZigZag Conversion锯行转换
The string "PAYPALISHIRING" is written in a zigzag pattern on a given number of rows like this: (you may want to display this pattern in a fixed font for better legibility)P A H NA P L S I
2014-11-17 12:20:07
482
原创 leetcode:Climbing Stairs
if (n<=0) return 0; if(n==1) return 1; if (n==2) return 2; int one = 1; int two = 2; int sum = 0; for (int i = 2; i < n; i++) { sum = one + two; one = two; two = su
2014-11-16 23:12:41
500
原创 leetcode:Palindrome Number 回文整数
Determine whether an integer is a palindrome. Do this without extra space.click to show spoilers.Some hints:Could negative integers be palindromes? (ie, -1)If you are thinking of convertin
2014-11-15 19:16:49
524
原创 leetcode:Merge Sorted Array
#includeusing namespace std;class Solution {public: void merge(int A[], int m, int B[], int n) { if(m<1 && n<1) return; int length = m+n; while (m>0 && n>0) { if(A[m-1
2014-11-14 14:52:27
441
原创 和为S的两个数字 and 和为s的连续正整数序列
/*环境 winxp ,vc++6.0题目:和为S的两个数字 and 和为s的连续正整数序列*//*题目出处:《剑指off——名企面试官精讲典型编程题》P214*//*题目1:输入一个递增排序的数组和一个数字 S ,在数组中查找两个数,使得它们的和正好是 s,如果有多对数字等于s,输出任意一对即可。题目2:输入一个正数 s,打印出所有和为s的连续正整数序列(至少含有两个数)。例如
2014-11-11 11:59:56
527
原创 数组中只出现一次的数字升级版
/*题目出处:《剑指offer——名企面试官精讲典型题目》P211题目:一个整型数组除了两个数字之外,其它的数字都出现了两次。请写程序找出这两个只出现一个的数字。要求时间复杂度是O(n),空间复杂度是O(1);*//*解题思路,这题是数组中除了一个数字外,其它的数字都出现两次的题目的变形,所以我们也应该从这个地方入手。如果只有一个数字,我们只需要用零去异或数组的所有数字,最后的结果就是那
2014-11-10 13:35:25
592
原创 Leetcode:Reverse Integer ,整数反转
#includeusing namespace std;class Solution {public: int reverse(int x) { bool isMinus = false; int tempX = x; if(x<0) { tempX = -tempX; isMinus = true; } int result
2014-11-09 22:44:09
513
转载 数组中的逆序对计算
/*版权归《剑指offer——名企面试官精讲典型编程题》所有题目出处:第五章 优化时间和空间效率 P189*//* 数组中的逆序对 题目:在数组中的两个数字如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数 例如在数组{7,5,6,4}中,一共存在5对逆序对,分别是{7,6},{7,5},{7,4},{6,4},{5,4}*/
2014-11-07 18:36:03
727
转载 计算机是如何启动的?
文章出处:从打开电源到开始操作,计算机的启动是一个非常复杂的过程。我一直搞不清楚,这个过程到底是怎么回事,只看见屏幕快速滚动各种提示...... 这几天,我查了一些资料,试图搞懂它。下面就是我整理的笔记。零、boot的含义先问一个问题,"启动"用英语怎么说?回答是boot。可是,boot原来的意思是靴子,"启动"与靴子有什么关系呢? 原来,这里的bo
2014-11-06 13:01:29
493
原创 计算三种缺页中断的缺页数,缺页率和命中率FIFO,LRU,OPT
/* 计算三种缺页中断的缺页数,缺页率和命中率 FIFO,LRU,OPT*/#include#include#include#include#include/*** 默认页表大小为3*/#define PAGETABLELENGTH 3//输出函数,四个参数,缺页数,缺页率和命中率,算法名称//无返回值void output( int pageFau
2014-10-24 15:34:51
13920
原创 给定一个数组和一个数字,给定的数组里是否存在两个数字之和等于给定的数字
/* 2014-10-19 by 不吃青瓜*//*原题大概意思: 给定一个数组a[10],数据范围 1-15 另外给定一个数字 x,范围 2-10 问是否能在数组 a 中找到两个数字的和等于 x*/#includebool findIt(int *arr , int n, int x){ int temp[16]; int i; for( i=0;
2014-10-19 19:29:54
1290
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人