自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Senvenno27

Life is not easy, just enjoy IT.

  • 博客(73)
  • 资源 (1)
  • 收藏
  • 关注

原创 PG 插入并更新 ON CONFLICT, 且不识别CONFLICT

解决方案: mybatis-plus的jslparser版本是4.4版本,它当前还不支持conflict语法。手动排除mybatis-plus的jsqlparser依赖。我们用脚本执行这条sql是没有问题的,但是当我们使用mybatis的时候,会报错,说不识别conflict, 让我们替换成DUPLICATE。在mysql里面,当无数据进行插入,有数据进行更新时,我们可以用ON DUPLICATE KEY UPDATE.好久没写博客了,看网上也没有人写过怎么处理,还是解决方法分享给大家。

2023-05-19 18:22:24 1030

原创 linux系统很卡的基本排查方法

一. 查看内存使用情况 1. free命令可查看内存使用情况free2.开始清理内存(需要root权限)sync echo 1 > /proc/sys/vm/drop_cachesecho 2 > /proc/sys/vm/drop_cachesecho 3 > /proc/sys/vm/drop_cachessync的作用是将所有正在内存中的缓冲区写到磁

2017-10-11 21:37:49 9370

原创 裸机安装Linux系统,Centos系统的安装

一:官网下载Centos系统,dvd的即可。二:下载一个软碟通。安装之后(试用),打开文件,找到Centos系统, 启动->刻录光盘。需要一个空的U盘。8G以上。三:重启电脑,U盘启动。1.安装centos系统。 如果过程中出现: Entering emergency mode exit the shell to continue. Type “journalctl” to...

2017-09-29 17:03:12 9784

原创 求整数n的二进制数 1的个数,0的个数

#include <iostream>// 这个只能求正整数的0的个数int ZeroN(int n){ int count = 0; while(n > 1) { if(0 == n%2) count++; n >>= 1; } return count;}// 可正可负,注意,负数是用补码存的

2017-09-21 11:06:52 1937

原创 求任意整数n的阶乘

主要思想: 初始值为1. 然后把1放入数组存着,(按位存,比如999,即f[0]=9, f[1]=9, f[2]=9) 然后数组的每一位都乘以2,(注意还有进位) 然后数组的每一位都乘以3,… 然后数组的每一位都乘以n.最后从后往前,输出每一位即是结果。注意,数组后面从非0开始计算。即最高位就是第一个非0位。#include <iostream>#include <string.h>#

2017-09-21 10:37:46 5105

转载 【算法研究与实现】最小二乘法直线拟合

作者:gnuhpc 出处:http://www.cnblogs.com/gnuhpc/1.原理 在现实中经常遇到这样的问题,一个函数并不是以某个数学表达式的形式给出,而是以一些自变量与因变量的对应表给出,老师讲课的时候举的个例子是犯罪人的身高和留下的脚印长,可以测出一些人的数据然后得到一张表,它反应的是一个函数,回归的意思就是将它还原成数学表达式,这个式子也称为经验表达式,之所以叫

2017-09-17 11:29:23 1379

转载 进程与线程的区别,简单的图片理解+面试简要回答

进程(process)和线程(thread)是操作系统的基本概念,但是它们比较抽象,不容易掌握。最近,我读到一篇材料,发现有一个很好的类比,可以把它们解释地清晰易懂。1.计算机的核心是CPU,它承担了所有的计算任务。它就像一座工厂,时刻在运行。2.假定工厂的电力有限,一次只能供给一个车间使用。也就是说,一个车间开工的时候,其他车间都必须停工。

2017-09-10 17:04:58 4596 3

原创 单链表的逆转:迭代形式和递归形式

struct Node{ int num; Node *next;}; // 注意这个地方,这个分号占一半的分!!!1.迭代版的:(明明知道是这样子,但写的时候,要想很久,常考,背!!!)/* 注意 head是头结点 */Node *ReverseLink( Node *head){ if(NULL == head) return NULL;

2017-09-07 13:33:56 836

转载 描述内存分配方式以及它们的区别?

1) 从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。例如全局变量,static 变量。 2) 在栈上创建。在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集。 3) 从堆上分配,亦称动态内存分配。程序在运行的时候用malloc 或new 申请任意多少的内存,程序员自己负责在何

2017-09-06 20:56:45 2816

原创 指针与引用的区别:简单的笔试或面试回答

指针是实体,它指向一块内存,它的内容是所指内存的地址;引用是某块内存的别名引用只能在定义时被初始化一次,之后不可变;指针可变引用没有 const,指针有 const,const 的指针不可变;引用不能为空,指针可以为空;“sizeof 引用”得到的是所指向的变量(对象)的大小,而“sizeof 指针”得到的是指针本身的大小,(32位下 即4个字节);指针和引用的自增(++)运算意义不一样;

2017-09-06 20:18:41 467

原创 大数取模:一般取模+技巧取模+快速幂取模+欧拉函数(费马小定理)

一般取模运算: (a^n)%m。 我们可以改写为(a^n)%m= ((a%m)^n)%m, 即循环n次。 缺点:低效,循环了n次。int exp_mod(int a,int n,int m){ a = a%m; int temp = 1; while(n--) { temp = temp * a; temp = temp % m

2017-09-02 18:03:54 14933 2

原创 使用STL:vector创建二维数组

使用vector创建二维数组有很多方便的地方,对比直接动态创建二维数组 http://blog.csdn.net/u011361880/article/details/77505380 发现vector真的是非常的方便,可以直接创建,重点是可以直接初始化,并且,可以初始化为非0元素。而memset只能初始化为0.同时,vector 中的内建有内存管理,当 vector 离开它的生存期

2017-08-30 22:14:19 8335

原创 C++STL中,map/multimap,set/multiset 和vector的排序

set存储已排序的无重复的元素,multiset是元素可以重复.为实现快速的集合运算set内部数据组织采用红黑树(一种严格意义上的平衡二叉树).map存储key-value对,按key排序,map的内部数据结构也是红黑树,并且key值无重复.multimap允许key值重复.在排序的时候,默认是按照key值从小到大排序,当key相等时,按pair< key,value>的原始顺序排序,即key相等时

2017-08-28 12:38:09 1540

原创 搜狐[编程题] 袋鼠过河.一只袋鼠要从河这边跳到河对岸,河很宽,但是河中间打了很多桩子,每隔一米就有一个

时间限制:1秒 空间限制:32768K 一只袋鼠要从河这边跳到河对岸,河很宽,但是河中间打了很多桩子,每隔一米就有一个,每个桩子上都有一个弹簧,袋鼠跳到弹簧上就可以跳的更远。每个弹簧力量不同,用一个数字代表它的力量,如果弹簧力量为5,就代表袋鼠下一跳最多能够跳5米,如果为0,就会陷进去无法继续跳跃。河流一共N米宽,袋鼠初始位置就在第一个弹簧上面,要跳到最后一个弹簧之后就算过河了,给定每个弹簧的力

2017-08-27 20:23:25 4247 3

原创 搜狐[编程题]彩色宝石项链.有一条彩色宝石项链,是由很多种不同的宝石组成的,包括红宝石,蓝宝石,钻石,翡翠,珍珠等

时间限制:1秒 空间限制:32768K有一条彩色宝石项链,是由很多种不同的宝石组成的,包括红宝石,蓝宝石,钻石,翡翠,珍珠等。有一天国王把项链赏赐给了一个学者,并跟他说,你可以带走这条项链,但是王后很喜欢红宝石,蓝宝石,紫水晶,翡翠和钻石这五种,我要你从项链中截取连续的一小段还给我,这一段中必须包含所有的这五种宝石,剩下的部分你可以带走。如果无法找到则一个也无法带走。请帮助学者找出如何切分项链才能

2017-08-27 18:30:19 3586

转载 Linux下如何将源文件逐步编译成目标文件的过程

前言请讲一下linux如何源文件逐步编译成可执行文件。解答首先先上图对编译的整个过程有个感性的认识,然后再逐步分析各个过程。 以hello.c 程序为例# include main{ printf("hello\n");}12341234一个.c源程序需要经过预处理器生成.i文件,再经过编译器生成.s文件,再经过汇编器生成可重定位目标文件

2017-08-26 15:28:58 3322

转载 __int64 与long long 的区别, C/C++的64位整型 不同编译器间的比较

//为了和DSP兼容,TSint64和TUint64设置成TSint40和TUint40一样的数  //结果VC中还是认为是32位的,显然不合适  //typedef signed long int     TSint64;  //typedef unsigned long int   TUint64;    //ANSI C中规定long long才能表示64位  //参

2017-08-24 09:16:41 5028

原创 C/C++,用0x3f3f3f3f表示无穷大,0xc0c0c0c0表示无穷小

#include <iostream>#define MaxN 0x3f3f3f3f#define MinN 0xc0c0c0c0int main(void){ printf("%d %d\n",MaxN,MinN); //1061109567, -1061109568 return 0;}但是,我一度怀疑了自己的眼睛,#include <stdio.h>#defi

2017-08-23 20:37:52 8318

原创 C++动态创建二维数组,memset()初始化二维数组

果然很麻烦,人生苦短,还是用python吧。#include <iostream>#include <string.h>int main(void){ int n,m; while(std::cin >>n >>m) { //动态创建二维数组 int **a = new int *[n]; for(int i=0; i<n;

2017-08-23 14:14:38 9623

转载 C++sort函数的用法

C++sort()函数的用法 近来看了c++标准库这本书,学到了很多,就把这其中的一点C++sort()函数的用法写下来和大家分享吧! (一)为什么要用c++标准库里的排序函数 Sort()函数是c++一种排序方法之一,学会了这种方法也打消我学习c++以来使用的冒泡排序和选择排序所带来的执行效率不高的问题!因为它使用的排序方法是类似于快排的方法,时间复杂度为n*log2(n),执行效率较高!

2017-08-22 21:48:56 521

原创 度度熊回家:一个数轴上共有N个点,第一个点的坐标是度度熊现在位置,第N-1个点是度度熊的家。

时间限制:1秒 空间限制:32768K 一个数轴上共有N个点,第一个点的坐标是度度熊现在位置,第N-1个点是度度熊的家。现在他需要依次的从0号坐标走到N-1号坐标。 但是除了0号坐标和N-1号坐标,他可以在其余的N-2个坐标中选出一个点,并直接将这个点忽略掉,问度度熊回家至少走多少距离? 输入描述:输入一个正整数N, N <= 50。接下来N个整数表示坐标,正数表示X轴的正方向,负数表示X轴的

2017-08-22 16:04:36 1595 3

原创 百度:度度熊想去商场买一顶帽子,买第三便宜的帽子

度度熊想去商场买一顶帽子,商场里有N顶帽子,有些帽子的价格可能相同。度度熊想买一顶价格第三便宜的帽子,问第三便宜的帽子价格是多少? 输入描述: 首先输入一个正整数N(N <= 50),接下来输入N个数表示每顶帽子的价格(价格均是正整数,且小于等于1000)输出描述: 如果存在第三便宜的帽子,请输出这个价格是多少,否则输出-1输入例子1: 10 10 10 10 10 20 20 30 3

2017-08-22 15:04:25 527

原创 词频统计(一):C++使用Vector做词频统计

统计圣经中每个单词出现的次数。#include <iostream>#include <vector>#include <fstream>#include <string>#include <string.h>#include <sstream>#define lineMaxWord 200struct Record{ std::string word; int fre

2017-08-19 14:58:09 3922

转载 C++中文件按行读取和逐词读取

#include <iostream>#include <fstream>#include <string>using namespace std;void OutPutAnEmptyLine()//输出空行{cout<< "\n" ;} //读取方式: 逐词读取, 词之间用空格区分void ReadDataFromFileWBW(){ cout<<"逐词读取,

2017-08-19 13:55:49 18171 2

转载 关于函数strtok和strtok_r的使用要点和实现原理(二)

(一)中已经介绍了使用strtok函数的一些注意事项,本篇将介绍strtok的一个应用并引出strtok_r函数。 1.一个应用实例网络上一个比较经典的例子是将字符串切分,存入结构体中。如,现有结构体typedef struct person{     char name[25];     char sex[10];     char age[4]; 

2017-08-18 21:46:37 461

转载 关于函数strtok和strtok_r的使用要点和实现原理(一)

strtok函数的使用是一个老生常谈的问题了。该函数的作用很大,争议也很大。以下的表述可能与一些资料有区别或者说与你原来的认识有差异,因此,我尽量以实验为证。交代一下实验环境是必要的,winxp+vc6.0,一个极端平民化的实验环境。本文中使用的源代码大部分来自于网络,我稍加修改作为例证。当然,本人水平有限,有不妥之处在所难免,各位见谅的同时不妨多做实验,以实验为证。strtok的函数原型

2017-08-18 21:25:11 249

转载 C++中的C_str()函数用法

语法: const char *c_str(); c_str()函数返回一个指向正规C字符串的指针常量, 内容与本string串相同. 这是为了与c语言兼容,在c语言中没有string类型,故必须通过string类对象的成员函数c_str()把string 对象转换成c中的字符串样式。 注意:一定要使用strcpy()函数 等来操作方法c_str()返回的指针 比如:最好不要这样:

2017-08-17 21:35:31 5676

原创 python数组过滤,输出满足条件的元素,例如python输出一维矩阵中的非0元素

1.python输出一维矩阵中的非0元素import numpy as npa = np.mat([[0,1,0,1,2,3,4,0]])print a[a>0]输出结果: [[1 1 2 3 4]]2.但是列表不行:import numpy as npa = np.mat([[0,1,0,1,2,3,4,0]])b = a.tolist() #把矩阵转换为列表print a[a>0]

2017-08-17 15:58:22 34578

转载 详解c++中类的六个默认的成员函数

类的6个默认的成员函数包括:构造函数、析构函数、拷贝构造函数、赋值运算符重载函数、取地址操作符重载、const修饰的取地址操作符重载。这篇文章重点解释前四个。(一)构造函数构造函数,顾名思义,为对象分配空间,进行初始化。它是一种特殊的成员函数,具有以下特点:1.函数名与类名相同。2.无返回值。3.构造对象的时候系统会自动调用构

2017-08-17 15:29:26 675 1

转载 C++ 初始化列表

何谓初始化列表与其他函数不同,构造函数除了有名字,参数列表和函数体之外,还可以有初始化列表,初始化列表以冒号开头,后跟一系列以逗号分隔的初始化字段。在C++中,struct和class的唯一区别是默认的访问性不同,而这里我们不考虑访问性的问题,所以下面的代码都以struct来演示。struct foo{ string name ; int id ; foo(s

2017-08-17 12:34:07 209

转载 优秀程序员不得不知道的20个位运算技巧

一提起位运算,人们往往想到它的高效性,无论是嵌入式编程还是优化系统的核心代码,适当的运用位运算总是一种迷人的手段,或者当您求职的时候,在代码中写入适当的位运算也会让您的程序增加一丝亮点,最初当我读《编程之美》求“1的数目”时,我才开始觉得位运算是如此之美,后来读到 《Hacker's Delight》,感慨到Henry S.Warren把位运算运用的如此神出鬼没,很多程序都十分精妙,我觉得在一

2017-08-16 18:42:44 223

原创 将一个N*N的矩阵逆转90度

//将一个N*N的矩阵逆转90度#include <stdio.h>// 交换两个数void swap(int *p1, int *p2){ int temp; temp = *p1; *p1 = *p2; *p2 = temp;}//必须指明数组长度void Reverse90(int (&b)[2][2], int len){ int i,j;

2017-08-13 18:34:01 1484

转载 参数传递二维数组

今天在论坛上有朋友提问:声明函数如下void function(int** pInt),意图是想参数传递一个二维数组。于是就定义了一个二维数组,比如 int[1][1],然后调用函数。结果如何?当然是失败了,编译器提示:cannot convert parameter 1 from 'int [1][1]' to 'int **',参数类型不匹配。上述过程我自己也试了,当然不匹配,类型完全不一样嘛

2017-08-13 16:04:10 399

转载 C++拷贝构造函数详解

一. 什么是拷贝构造函数首先对于普通类型的对象来说,它们之间的复制是很简单的,例如:[c-sharp] view plain copyint a = 100;  int b = a;   而类对象与普通对象不同,类对象内部结构一般较为复杂,存在各种成员变量。下面看一个类对象拷贝的简单例子。

2017-08-12 10:20:31 166

转载 C++中参数传递的两种方式:传值与传址及它们的区别

#includeusing namespace std;void mySwap(int *p1,int *p2);int main(){ int a=12; int b=44; int *pa=&a; int *pb=&b; if(a<b){ mySwap1(a,b); //mySwap2(pa,pb); //mySwap3(pa,pb); //mySw

2017-08-09 19:53:55 1841

转载 C/C++中关于qsort的使用

C/C++中有一个快速排序的标准库函数 qsort ,在stdlib.h 中声明,其原型为:void qsort(void *base, int nelem, unsigned int width, int ( * pfCompare)( const void *, const void *));  使用该函数,可以对任何类型的一维数组排序。该函数参数中,base 是待排序数组的起始地址,

2017-08-08 21:10:51 267

原创 长沙智慧眼算法工程师笔试题

1. C语言中,static的作用是什么? a.隐藏:当同时编译多个文件时,所有未加stitic前缀的全局变量和函数都具有全局可见性。用static修饰可以在不同文件中定义同名函数和同名变量,而不必担心命名冲突。 b.默认初始化为0:未初始化的全局变量和未初始化的静态变量是存储在BSS段(未初始化数据段) c.保持局部变量内容的持久:静态局部变量只进行一次初始化,且具有“记忆性”,但是,虽然它的

2017-08-08 15:26:09 514

转载 Python中的*args和**kwargs的用法

先来看个例子:def foo(*args, **kwargs): print 'args = ', args print 'kwargs = ', kwargs print '---------------------------------------'if __name__ == '__main__': foo(1,2,3,4) foo(a=1,

2017-08-04 17:04:02 518

原创 python函数内部变量通过函数属性实现全局变量

把函数内部的变量看成函数的一个属性,从而在其他函数中进行调用,需要注意的是,不管在哪里调用,自己本身函数内部使用或者其他函数中调用都需要进行域指定。def fuc1(): #通过一个 ".",使用了fuc2的变量 b = fuc2.a print bdef fuc2(): #这里需要注意的是,在fuc2函数内部使用a,同样要进行域确定,即 #fuc2.a,才

2017-08-03 20:35:46 8171 1

转载 Python 函数参数引用(传值/传址)/copy/deepcopy

精简版:传值:被调函数局部变量改变不会影响主调函数局部变量传址:被调函数局部变量改变会影响主调函数局部变量Python参数传递方式:传递对象引用(传值和传址的混合方式),如果是数字,字符串,元组则传值;如果是列表,字典则传址;copy使用场景:列表或字典,且内部元素为数字,字符串或元组deepcopy使用场景:列表或字典,且内部元素包含

2017-08-02 21:12:18 539

ACM培训资料

非常适合考研和参加ACM比赛的同学,包含许多数据结构算法和各种模板,还有各种算法的源程序以及ppt解释。许多c和c++的资料。

2013-07-15

空空如也

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

TA关注的人

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