[置顶]关于博主

52coder.net是很早之前与同学一起脑洞的域名:中文名可以叫做-我爱程序员。我记得那年冬天孟非主持的非诚勿扰很火,我信誓旦旦的说以后要做一个网站,专门去为程序员解决个人问题,于是就有了现在的这个域名52coder.net。当时比较热衷于论坛,折腾过Discuz,在读书时折腾过,最多的时候同时在线人数超过1000,论坛的注册人数达到了2w左右,现在却早已忘记当初因为什么原因关闭论坛。

博客开始于2017年6月,希望博客用来记录自己的学习过程,渐渐通过几个月的时间喜欢上写点东西,目前学习的内容主要有C语言、数据结构、Linux系统编程、算法、LeetCode等,如果针对文章中的内容有任何疑......

UNIX/Linux系统管理技术手册

书架上的这块大部头书在5.1的时候终于有时间来学习了,本文将长期更新,记录UNIX/Linux系统管理技术手册学习中的疑问与解答。该书在豆瓣评分颇高,UNIX/Linux系统管理技术手册.勘误表在本文最后,如有疑问欢迎留言讨论。

笔记中实际操作的系统来自于ubuntu,运行在一款古董级的hp笔记本上,在Macbook Pro中运行了一台centos7虚拟机,电脑卡的时候关闭该虚拟机使用hp笔记本中的虚拟机。

[LeetCode C++实现]560. Subarray Sum Equals K.md

Given an array of integers and an integer k, you need to find the total number of continuous subarrays whose sum equals to k.

Example 1:

Input:nums = [1,1,1], k = 2

Output: 2

Constraints:

The length of the array is in range [1, 20,000].

The range of numbers in the array is [-1000, 1000] and......

[LeetCode C++实现]532. K-diff Pairs in an Array

Given an array of integers and an integer k, you need to find the number of unique k-diff pairs in the array. Here a k-diff pair is defined as an integer pair (i, j), where i and j are both numbers in the array and their absolute difference is k.

Example 1:

Input: [3, 1, 4, 1, 5], k = 2

Output......

日常开发笔记总结(八)

下列程序编译是否会报错:

// directive_1.c

#include <stdio.h>

#ifndef MIN

#define MIN(x, y) ((x) > (y) ? (y) : (x))

#endif /**/x

int main()

{

printf("min val = %d\n", MIN(100, -1));

return 0;

}

讲道理程序endif后面有个多余的x应该会编译失败,可是程序编译仅仅有个告警,运行正常。

[root c++]#gcc -g -Wall -o gcc gcc.c

gcc.c:6:12: warn......

Linux中踩栈浅析

调试时必需的栈知识

栈(stack)是程序存放数据的内存区域之一,其特征是LIFO(Last In First Out, 后进先出)式数据结构,即后放进的数据最先被取出。向栈中存储数据的操作称为PUSH(压入),从栈中取出数据称为POP(弹出)。在保存动态分配的自动变量时要使用栈。此外在函数调用时,栈还用于传递函数参数,以及用于保存返回地址和返回值。

#include <stdio.h>

#include <ctype.h>

#include <stdlib.h>

#define MAX (1UL << 20)

typedef unsi......

rc4算法 C语言实现

定位问题居然查到项目中引入的rc4 c算法中的一个bug,也算是大开眼界。

学习rc4 c实现,结合维基百科中的例子,修改网上的例子rc4 c example

/* RC4 Encrypt/Decrypt

RC4 was developped by RSA labs, however this code may not be exact.

Written in portable Micro-C by Tom St Denis.

Notes:

1. I found the 'source' on a discussion website. The user

posting c......

pthread_join函数使用误区

pthread_join函数项目里一般使用第二个参数都使用NULL,不关心线程执行后返回值,有同事发我一段程序,运行后程序segment,却找不到原因,鉴于此本文记录pthread_join的基本用法,文章末尾会给出这段程序,并分析原因。stackoverflow上有一个比较好的问答,介绍了pthread_exit和pthread_join组合使用的习惯用法:

#include <stdio.h>

#include <pthread.h>

#include <stdlib.h>

#include <string.h>

void* thre......

日常开发笔记总结(七)

5月份迎来了今年最忙的一个时期,看mbp本周屏幕使用时间仅55分钟,今天难得不用跑装修相关的事情,得以坐在书桌前,随手翻几页书。

函数指针数组

//seq_array是个数组,内放函数指针

const vector<int *> (*seq_array[])(int) = {

fibon_seq, lucase_seq, pell_seq,

triang_seq, sequare_seq, pent_seq

};

这里其实可以使用typedef进行优化:

typedef const vector<unsigned int>* (*pfunc)(int);......

[LeetCode C++实现]238. Product of Array Except Self

Given an array nums of n integers where n > 1, return an array output such that output[i] is equal to the product of all the elements of nums except nums[i].

Example:

Input:

Output:

Constraint: It's guaranteed that the product of the elements of any prefix or suffix of the array......