[置顶]关于博主

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

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

[LeetCode C++实现]45. 跳跃游戏 II

[LeetCode C++实现]45. 跳跃游戏 II

date:2021-07-12 23:30

url:LeetCode45

class Solution {

public:

int jump(vector<int>& nums) {

int size = nums.size();

int right = 0,step = 0,end = 0;

for(int i = 0;i < size - 1;i++)

{

if(i <= right)

{

right = max(right,i + nums[i]);

if(i == end)

{

end =......

[LeetCode C++实现]55.跳跃游戏

class Solution {

public:

bool canJump(vector<int>& nums) {

int size = nums.size();

int right = 0;

for(int i = 0;i < size;i++)

{

if(i <= right)

{

right = max(right,i + nums[i]);

if(right >= size - 1)

return true;

}else

return false;

}

return false;

}

};

这道题的思路是贪心,从前往后计算能够到达的最远距......

[LeetCode C++实现]179. Largest Number

讨论区看到一个解法,非常的清晰,缺点是需要构造一个vector,因此空间复杂度较高。

class Solution {

public:

string largestNumber(vector<int>& nums) {

vector<string> strs;

for(auto num:nums)

strs.push_back(to_string(num));

sort(strs.begin(),strs.end(),[](const string& s1,const string& s2){return s1 + s2 > s2 +......

Linux添加swap分区,解决内存不足

周末在家打算安装学习下grpc,发现安装到一半oom内存不足,于是有了这篇文章.

Swap 是 Linux 下的交换分区,类似 Windows 的虚拟内存,当物理内存不足时,系统可把一些内存中不常用到的程序放入 Swap,解决物理内存不足的情况。但是如果开始使用 SWAP 的时候系统通常都会变得十分缓慢,因为硬盘 IO 占用的十分厉害,除非是 SSD 的情况下,速度才有可能稍微快一点。

下面是创建使用 SWAP 的方法:

一、创建文件

dd if=/dev/zero of=/swapfile bs=1024 count=8096000

SSH 执行以上命令,创建一个名为 sw......

IDEA快捷键

command + shift + [ 回退

command + shift + ] 前进

command + O 按两次shift键 查找符号 文件 类等

git clone慢解决方法

1.在网站 https://www.ipaddress.com/ 上搜索

github.global.ssl.fastly.net

github.com

这两个域名所对应的ip填入/etc/hosts中

2.添加hosts

[root grpc]#cat /etc/hosts

127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4

::1 localhost localhost.localdomain localhost6 localhost6.loc......

程序员面试金典-面试题 03.03. 堆盘子

堆盘子。设想有一堆盘子,堆太高可能会倒下来。因此,在现实生活中,盘子堆到一定高度时,我们就会另外堆一堆盘子。请实现数据结构SetOfStacks,模拟这种行为。SetOfStacks应该由多个栈组成,并且在前一个栈填满时新建一个栈。此外,SetOfStacks.push()和SetOfStacks.pop()应该与普通栈的操作方法相同(也就是说,pop()返回的值,应该跟只有一个栈时的情况一样)。 进阶:实现一个popAt(int index)方法,根据指定的子栈,执行pop操作。

当某个栈为空时,应当删除该栈。当栈中没有元素或不存在该栈时,pop,popAt 应返回 -1.

示例1......

程序员面试金典-面试题 08.05. 递归

递归乘法。 写一个递归函数,不使用 * 运算符, 实现两个正整数的相乘。可以使用加号、减号、位移,但要吝啬一些。

由于题目要求使用递归函数实现,方法一:

class Solution {

public:

int multiply(int A, int B) {

if(A == 0 || B == 0)

return 0;

if(A < B)

return B + multiply(A-1,B);

else

return A + multiply(A, B-1);

}

};

之所以要判断A与B的大小,是因为使用小的作为循环次数,可以提高效率。

方法二:分治法

clas......

redis常用命令

启动redis

[root ~]#redis-server

8988:C 25 Jun 11:24:31.317 # Warning: no config file specified, using the default config. In order to specify a config file use redis-server /path/to/redis.conf

8988:M 25 Jun 11:24:31.319 * Increased maximum number of open files to 10032 (it was originally set to 1024).......