自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(84)
  • 收藏
  • 关注

原创 [leetcode]87. Scramble String

递归解决问题。注意比较字符串时可以对字符串先排序后再比较,这样处理比较简单。class Solution {public: bool isScramble(string s1, string s2) { if(s1.size()!=s2.size()) return false; if(s1==s2) return true; st...

2019-05-11 10:36:13 145

原创 ubuntu-18.04 设置开机启动脚本

ubuntu-16.10 开始不再使用initd管理系统,改用systemdsystemd is now used for user sessions. System sessions had already been provided by systemd in previous Ubuntu releases.快速看了 systemd 的使用方法,发现改动有点大, 包括用 system...

2019-05-03 09:49:43 614

原创 1149 Dangerous Goods Packaging

#include<iostream>#include<set>using namespace std;int arr[1001];bool app[100001]={false};int main(){ int n,m; cin>>n>>m; set<int> inComps; for(int ...

2019-03-01 23:00:46 156

原创 148 Werewolf - Simple Version

#include<iostream>using namespace std;int words[101];int status[101];bool func(int ii,int jj,int n){status[ii]=-status[ii];status[jj]=-status[jj];int t=0;int tt=0;for(i...

2019-03-01 21:08:11 154

原创 1146 Topological Order

#include<vector>#include<iostream>using namespace std;bool func(vector<int> arr,vector<int> ins,vector<vector<int> >&adjs){for(int i=0;i<arr.siz.

2019-03-01 15:56:41 141

原创 1145 Hashing - Average Search Time

查询次数参考https://blog.csdn.net/qq_34594236/article/details/79814881#include<iostream>#include<cmath>#include<vector>#include<stdio.h>using namespace std;int getprim...

2019-03-01 13:53:40 201

原创 1138 Postorder Traversal

#include<iostream>using namespace std;int A[50000];int B[50000];int main(){int n;cin>>n;for(int i=0;i<n;++i){cin>>A[i];}for(int i=0;i<n;++i){cin>...

2019-03-01 12:51:17 153

原创 1144 The Missing Number

#include<iostream>#include<algorithm>using namespace std;int main(){int A[100000];int n;cin>>n;for(int i=0;i<n;++i){cin>>A[i];}sort(A,A+n);int k=1;...

2019-03-01 10:21:18 92

原创 1143 Lowest Common Ancestor

问题的关键,记住各个节点的树高。另外采用new动态生成新的节点容易超时,采用数组预先分配节约时间。#include<iostream>using namespace std;struct Node{int value;Node * lchild;Node* rchild;Node* root;int height;Node(){value ...

2019-03-01 10:06:21 198

原创 1142 Maximal Clique

#include<iostream>#include<vector>#include<algorithm>#include<set>using namespace std;bool flag[201][201];void isMaxClique(vector<int> Q,vector<int&g...

2019-03-01 10:04:37 137

原创 1140 Look-and-say Sequence

#include<iostream>#include<map>#include<vector>#include<algorithm>using namespace std;class Record{public:string school;double scores;int num;// int rank;...

2019-02-28 09:58:15 154

原创 【PAT】1108 Finding Average

#include<iostream>#include<string>#include<iomanip>using namespace std; bool isLegalNumber(string str,double & value){bool isNegative=false;bool hasDot=false;do...

2019-02-27 12:14:18 91

转载 g++/gcc编译过程【转】

原文地址:https://www.cnblogs.com/zjiaxing/p/5557549.htmlgcc和g++分别是GNU(一个开源组织)的c&c++编译器 对于.c后缀的文件,gcc把它当做是C程序,g++当做是C++程序;对于.cpp后缀的文件,gcc和g++都会当做c++程序。gcc可以根据后缀名为.c或.cpp分别按c程序和c++程序来编译,但是g++无论是.c...

2019-02-27 11:31:06 359

原创 1002 A+B for Polynomials

This time, you are supposed to find A+B where A and B are two polynomials.Input Specification:Each input file contains one test case. Each case occupies 2 lines, and each line contains the informa...

2019-01-23 15:55:14 197

原创 1001 A+B Format

原题目地址:https://pintia.cn/problem-sets/994805342720868352/problems/994805526272000000#include<iostream>#include<iomanip>#include<cmath>using namespace std;int main(){  int a,b...

2019-01-23 15:20:35 89

转载 机器学习算法与Python实践之k均值聚类(k-means)

机器学习算法与Python实践之(五)k均值聚类(k-means)[email protected]://blog.csdn.net/zouxy09        机器学习算法与Python实践这个系列主要是参考《机器学习实战》这本书。因为自己想学习Python,然后也想对一些机器学习算法加深下了解,所以就想通过Python来实现几个比较常用的机器学习算法。恰好遇见这本同样定位的

2017-03-08 08:00:16 566

转载 批处理for命令详解

批处理for命令详解FOR这条命令基本上都被用来处理文本,但还有其他一些好用的功能!看看他的基本格式(这里我引用的是批处理中的格式,直接在命令行只需要一个%号)FOR 参数 %%变量名 IN (相关文件或命令) DO 执行的命令参数:FOR有4个参数 /d /l /r /f 他们的作用我在下面用例子解释%%变量名 :这个变量名可以是小写a-z或者大写A-Z,他们区分大小写,FO

2016-11-22 19:37:05 810

原创 sizeof()用法汇总

sizeof()功能:计算数据空间的字节数1.与strlen()比较      strlen()计算字符数组的字符数,以"\0"为结束判断,不计算为'\0'的数组元素。      而sizeof计算数据(包括数组、变量、类型、结构体等)所占内存空间,用字节数表示。2.指针与静态数组的sizeof操作      指针均可看为变量类型的一种。所有指针变量的sizeof

2016-10-11 08:46:36 293

转载 守护进程的创建方法和步骤

概念:     守护进程(Daemon)是运行在后台的一种特殊进程。它独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件。守护进程是一种很有用的进程。Linux的大多数服务器就是用守护进程实现的。比如,Internet服务器inetd,Web服务器httpd等。同时,守护进程完成许多系统任务。比如,作业规划进程crond,打印进程lpd等。(这里的结尾字母d就是Daemon的意

2016-09-28 17:31:56 432

原创 umask详解

umask使用方法  A 什么是umask?  当我们登录系统之后创建一个文件总是有一个默认权限的,那么这个权限是怎么来的呢?这就是umask干的事情。umask设置了用户创建文件的默认 权限,它与chmod的效果刚好相反,umask设置的是权限“补码”,而chmod设置的是文件权限码。一般在/etc/profile、$ [HOME]/.bash_profile或$[HOME]/.

2016-09-28 17:07:36 385

转载 sed使用

简介sed 是一种在线编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有 改变,除非你使用重定向存储输出。Sed主要用来自动编辑一个或多个文件;简化对文件的反复操作;编写转换程序等。 

2016-09-28 16:35:26 334

原创 linux c详解

cut是一个选取命令,就是将一段数据经过分析,取出我们想要的。一般来说,选取信息通常是针对“行”来进行分析的,并不是整篇信息分析的(1)其语法格式为:cut  [-bn] [file] 或 cut [-c] [file]  或  cut [-df] [file]使用说明cut 命令从文件的每一行剪切字节、字符和字段并将这些字节、字符和字段写至标准输出。如果不指定 F

2016-09-28 16:29:31 309

原创 strace命令

简介strace常用来跟踪进程执行时的系统调用和所接收的信号。 在Linux世界,进程不能直接访问硬件设备,当进程需要访问硬件设备(比如读取磁盘文件,接收网络数据等等)时,必须由用户态模式切换至内核态模式,通 过系统调用访问硬件设备。strace可以跟踪到一个进程产生的系统调用,包括参数,返回值,执行消耗的时间。输出参数含义root@ubuntu:/usr# strac

2016-09-28 15:07:03 236

转载 linux下两台服务器文件实时同步方案设计和实现

假设有如下需求:假设两个服务器:192.168.0.1 源服务器  有目录 /opt/test/192.168.0.2 目标服务器  有目录 /opt/bak/test/实现的目的就是保持这两个服务器某个文件目录保持实时同步实现方式: 通过rsync+inotify-tools结合来实现需要安装软件:1.  rsync 同步软件

2016-09-28 13:47:53 3033

转载 自旋锁spinlock剖析与改进

1, spinlock介绍  spinlock又称自旋锁,线程通过busy-wait-loop的方式来获取锁,任时刻只有一个线程能够获得锁,其他线程忙等待直到获得锁。spinlock在多处理器多线程环境的场景中有很广泛的使用,一般要求使用spinlock的临界区尽量简短,这样获取的锁可以尽快释放,以满足其他忙等的线程。Spinlock和mutex不同,spinlock不会导致线程的状态切换

2016-09-27 23:32:03 3142

原创 nohup笔记

最近在用ubuntu时,想从终端启动程序,但是又不想退出终端时程序跟随退出,发现了nohup命令,它可以不断挂的运行命令。在应用Unix/Linux时,我们一般想让某个程序在后台运行,于是我们将常会用 & 在程序结尾来让程序自动运行。比如我们要运行mysql在后台: /usr/local/mysql/bin/mysqld_safe –user=mysql &。可是有很多程序并不想mys

2016-09-27 23:01:35 317

原创 unix进程间的通信方式

unix进程间的通信方式(1)管道(Pipe):管道可用于具有亲缘关系进程间的通信,允许一个进程和另一个与它有共同祖先的进程之间进行通信。 (2)命名管道(named pipe):命名管道克服了管道没有名字的限制,因此,除具有管道所具有的功能外,它还允许无亲缘关系进程间的通信。命名管道在文件系统中有对应的文件名。命名管道通过命令mkfifo或系统调用mkfifo来创建。 (3)信号(S

2016-09-26 16:45:53 431

原创 new/delete与malloc/free的关系

一、基本概念     malloc/free:1、函数原型及说明:      void *malloc(long NumBytes):该函数分配了NumBytes个字节,并返回了指向这块内存的指针。如果分配失败,则返回一个空指针(NULL)。      void free(void *FirstByte): 该函数是将之前用malloc分配的空间还给程序或者是操作系

2016-09-26 16:23:42 307

转载 各种编码UNICODE、UTF-8、ANSI、ASCII、GB2312、GBK详解

GBK,ISO-8859-1,GB2312的本质区别编码有几种 ,计算机最初是在美国等国家发明的 所以表示字符只有简单的几个字母只要对字母进行编码就好 我们标准码 iso-8859-1 这就是一个标准但是后来计算机普及了 于是就中国要使用计算机了 但是机器不认得中文,于是就有了国际码。 gbk gb2312都是这类。两个其实一个,一个是标准(发布的代号),一个是简称。后来多了个阿拉伯语、日

2016-09-22 19:19:03 6127

转载 awk简单介绍

简介awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大。简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。awk有3个不同版本: awk、nawk和gawk,未作特别说明,一般指gawk,gawk 是 AWK 的 GNU 版本。awk其名称得自于它的创始人 Alfr

2016-09-20 22:39:34 215

转载 Linux下指定动态库的加载路径

一、库文件的搜索路径:1、在配置文件/etc/ld.so.conf中指定动态库搜索路径(需要添加其它库文件的路径,在文件的最后添加具体的路径即可 [ 如:/usr/local/lib ],添加后保存退出,然后在命令行ldconfig2、通过环境变量LD_LIBRARY_PATH指定动态库搜索路径(当通过该环境变量指定多个动态库搜索路径时,路径之间用冒号":"分隔)3、在编译

2016-09-20 15:13:40 8668

原创 数组两端取数

这是完美世界的一道笔试题,题目详述忘记了,大概记得这么一个意思: 给定一个数组nums[0~n-1];A和B分变从数组的两端交替循环选择数据,累加到自身的积分中,并且A和B都采用最优策略选择数据,求最终A和B的积分。首先考虑考虑用深度优先算法,定义一个函数int func(int st,int len),这个函数的功能是仅考虑在数组剩余区间为[st,en]时刻及之后(之前各自的积分都重置为0),A

2016-09-20 12:34:18 3255

转载 ext2 、ext3 、ext4

ext2与ext3Linux ext2/ext3文件系统使用索引节点来记录文件信息,作用像windows的文件分配表。索引节点是一个结构,它包含了一个文件的长度、创建及修改时间、权限、所属关系、磁盘中的位置等信息。一个文件系统维护了一个索引节点的数组,每个文件或目录都与索引节点数组中的唯一一个元素对应。系统给每个索引节点分配了一个号码,也就是该节点在数组中的索引号,称为索引节点号。 lin

2016-09-19 16:29:18 299

转载 硬链接与软链接

从 inode 了解 Linux 文件系统硬链接与软链接是 Linux 文件系统中的一个重要概念,其涉及文件系统中的索引节点 (index node 又称 inode),而索引节点对象是 Linux 虚拟文件系统 (VFS) 的四个基本概念之一。通过剖析硬链接与软链接的联系与区别,我们可更好的了解 Linux 中 VFS 这一通用文件模型。并让 Linux 普通用户和系统管理员

2016-09-19 16:03:34 1171

转载 inode详解

一、inode是什么?理解inode,要从文件储存说起。文件储存在硬盘上,硬盘的最小存储单位叫做"扇区"(Sector)。每个扇区储存512字节(相当于0.5KB)。 操作系统读取硬盘的时候,不会一个个扇区地读取,这样效率太低,而是一次性连续读取多个扇区,即一次性读取一个"块"(block)。这种由多个扇区组成的"块",是文件存取的最小单位。"块"的大小,最常见的是

2016-09-19 15:59:37 916

原创 进程通信方式

UNIX中有如下的通信方式:1) 文件和记录锁定。为避免两个进程间同时要求访问同一共享资源而引起访问和操作的混乱,在进程对共享资源进行访问前必须对其进行锁定,该进程访问完后再释放。这是UNIX为共享资源提供的互斥性保障。  2 )管道。管道一般用于两个不同进程之间的通信。当一个进程创建一个管道,并调用fork创建自己的一个子进程后,父进程关闭读管道端,子进程关闭写管道端

2016-09-19 15:49:53 263

转载 C语言堆栈的区别

C语言中堆和栈的区别一.前言:C语言程序经过编译连接后形成编译、连接后形成的二进制映像文件由栈,堆,数据段(由三部分部分组成:只读数据段,已经初始化读写数据段,未初始化数据段即BBS)和代码段组成,如下图所示:1.栈区(stack):由编译器自动分配释放,存放函数的参数值,局部变量等值。其操作方式类似于数据结构中的栈。2.堆区(heap):一般由程序

2016-09-17 22:55:08 6214

转载 send 和recv详解

int send( SOCKET s,      const char FAR *buf,      int len,      int flags );  不论是客户还是服务器应用程序都用send函数来向TCP连接的另一端发送数据。客户程序一般用send函数向服务器发送请求,而服务器则通常用send函数来向客户程序发送应答。该函数的第一个参数指定发送端套接字描述符;第

2016-09-17 22:39:30 24347

转载 Linux的SOCKET编程详解

1. 网络中进程之间如何通信进 程通信的概念最初来源于单机系统。由于每个进程都在自己的地址范围内运行,为保证两个相互通信的进程之间既互不干扰又协调一致工作,操作系统为进程通信提供了相应设施,如UNIX BSD有:管道(pipe)、命名管道(named pipe)软中断信号(signal)UNIX system V有:消息(message)、共享存储区(shared memory

2016-09-17 22:38:20 387

转载 /etc目录详解

Linux /etc目录详解 /etc目录   包含很多文件.许多网络配置文件也在/etc 中.  /etc/rc   or/etc/rc.d   or/etc/rc*.d     启动、或改变运行级时运行的scripts或scripts的目录.  /etc/passwd     用户数据库,其中的域给出了用户名、真实姓名、家

2016-09-17 22:02:39 10932

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除