自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(67)
  • 资源 (6)
  • 问答 (2)
  • 收藏
  • 关注

原创 141.(215)数组中的第K个最大元素

题目描述:在未排序的数组中找到第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。示例 1:输入: [3,2,1,5,6,4] 和 k = 2输出: 5示例2:输入: [3,2,3,1,2,4,5,5,6] 和 k = 4输出: 4说明:你可以假设 k 总是有效的,且 1 ≤ k ≤ 数组的长度。思路:1、快速排序,降序排序2、排序时,只排前K个最大的数(大概,不确定)代码:class Solution {.

2020-07-31 17:53:47 55

原创 140.(200)岛屿的量

题目描述:给你一个由'1'(陆地)和 '0'(水)组成的的二维网格,请你计算网格中岛屿的数量。岛屿总是被水包围,并且每座岛屿只能由水平方向或竖直方向上相邻的陆地连接形成。此外,你可以假设该网格的四条边均被水包围。示例 1:输入:[['1','1','1','1','0'],['1','1','0','1','0'],['1','1','0','0','0'],['0','0','0','0','0']]输出:1示例2:输入:[['1','1','0','0',...

2020-07-31 15:54:24 58

原创 139.(155)最小栈

题目描述:设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈。push(x) —— 将元素 x 推入栈中。pop()—— 删除栈顶的元素。top()—— 获取栈顶元素。getMin() —— 检索栈中的最小元素。示例:输入:["MinStack","push","push","push","getMin","pop","top","getMin"][[],[-2],[0],[-3],[],[],[],[]]输出:[null,null,nu..

2020-07-30 15:45:40 98

原创 138.(152)乘积最大子数组

题目描述:给你一个整数数组 nums,请你找出数组中乘积最大的连续子数组(该子数组中至少包含一个数字),并返回该子数组所对应的乘积。示例 1:输入: [2,3,-2,4]输出: 6解释:子数组 [2,3] 有最大乘积 6。示例 2:输入: [-2,0,-1]输出: 0解释:结果不能为 2, 因为 [-2,-1] 不是子数组。思路:1、动态规划2、记录以当前元素位置为结尾的连续子数组的最大值和最小值3、状态转移方程:dp_max[i]=max(nums[i]...

2020-07-30 14:48:11 67

原创 Primer C++ 学习笔记:输出流的缓冲区

1、每个输出流都管理一个缓冲区,用来保存程序读写的数据2、进行输出时,文本串可能被立即打印出来,也有可能被操作系统保存在缓冲区中,随后打印3、有了缓冲机制,操作系统就可以将程序的多个输出操作组合成单一的系统级写操作。由于设备的写操作可能很耗时,允许系统将多个输出操作组合为单一的设备写操作可以带来很大的性能提升。4、缓冲刷新,即将数据真正写到输出设备或文件5、缓冲刷新的原因可能有:程序正常结束,作为main函数的return操作一部分,执行缓冲刷新 缓冲区满时,需要刷新缓冲,然后新的数据

2020-07-30 10:40:36 227

原创 Linux快速查找报错:bash: locate: command not found

报错:Linux系统下使用locate进行快速查找命令报错:oot@c311a22b76d4:/MPI# locate mpirunbash: locate: command not found原因:缺少mlocate这个包,执行安装命令:apt-get install mlocate报错:执行查找命令,有新的错误:locate: can not stat () `/var/lib/mlocate/mlocate.db': No such file or dir.

2020-07-29 17:46:48 6081 3

原创 MPI六个基本的调用函数

一、初始化:1、函数原型:int MPI_Init(int *argc, char ***argv);2、调用格式:int main(int argc, char *argv[]){ MPI_Init(&argc, &argv); return 0;}3、解释:MPI_Init() 是MPI程序的第一个调用,它完成MPI程序所有的初始化工作,所有MPI程序的第一条可执行语句都是这条语句。MPI系统通过argc和argv得到命令行参数,并且将

2020-07-29 10:23:55 2591

原创 137.(146)LRU缓存机制

题目描述:运用你所掌握的数据结构,设计和实现一个LRU (最近最少使用) 缓存机制。它应该支持以下操作: 获取数据 get 和 写入数据 put 。获取数据 get(key) - 如果关键字 (key) 存在于缓存中,则获取关键字的值(总是正数),否则返回 -1。写入数据 put(key, value) - 如果关键字已经存在,则变更其数据值;如果关键字不存在,则插入该组「关键字/值」。当缓存容量达到上限时,它应该在写入新数据之前删除最久未使用的数据值,从而为新的数据值留出空间。进阶:..

2020-07-28 17:31:29 74

原创 136.(238)除自身以外数组的乘积

题目描述:给你一个长度为n的整数数组nums,其中n > 1,返回输出数组output,其中 output[i]等于nums中除nums[i]之外其余各元素的乘积。示例:输入: [1,2,3,4]输出: [24,12,8,6]提示:题目数据保证数组之中任意元素的全部前缀元素和后缀(甚至是整个数组)的乘积都在 32 位整数范围内。说明: 请不要使用除法,且在O(n) 时间复杂度内完成此题。进阶:你可以在常数空间复杂度内完成这个题目吗?( 出于对空间复杂...

2020-07-24 11:22:56 61

原创 135.(1518)换酒问题

题目描述:小区便利店正在促销,用 numExchange 个空酒瓶可以兑换一瓶新酒。你购入了 numBottles 瓶酒。如果喝掉了酒瓶中的酒,那么酒瓶就会变成空的。请你计算 最多 能喝到多少瓶酒。示例 1:输入:numBottles = 9, numExchange = 3输出:13解释:你可以用 3 个空酒瓶兑换 1 瓶酒。所以最多能喝到 9 + 3 + 1 = 13 瓶酒。示例 2:输入:numBottles = 15, numExchange = 4输出:19

2020-07-24 10:32:36 112

原创 134.(1402)做菜的顺序

题目描述:一个厨师收集了他n道菜的满意程度satisfaction,这个厨师做出每道菜的时间都是 1 单位时间。一道菜的 「喜爱时间」系数定义为烹饪这道菜以及之前每道菜所花费的时间乘以这道菜的满意程度,也就是time[i]*satisfaction[i]。请你返回做完所有菜 「喜爱时间」总和的最大值为多少。你可以按任意顺序安排做菜的顺序,你也可以选择放弃做某些菜来获得更大的总和。示例 1:输入:satisfaction = [-1,-8,0,5,-9]输出:14解...

2020-07-24 09:48:02 368

原创 Primer C++ 学习笔记:变量的声明和定义

C++语言支持分离式编译机制,该机制允许将程序分割为若干个文件,每个文件可以被独立编译。如果将程序分为多个文件,则需要有在文件间共享代码的方法。例如,一个文件的代码可能需要使用另一个文件中定义的变量。为了支持分离式编译,C++语言将声明和定义区别开来。声明:一个文件如果要使用在其他文件定义的变量,则必须要包含对那个变量的声明,告诉后面的程序,我要用这个变量。声明一个变量的方法,是在变量名字前添加关键字extern,并且不要显式的初始化变量。一旦声明中显式的初始化了变量,就成为了定义。extern

2020-07-23 15:38:53 125

原创 133.(剑指 Offer 42)连续子数组的最大和

题目描述:输入一个整型数组,数组里有正数也有负数。数组中的一个或连续多个整数组成一个子数组。求所有子数组的和的最大值。要求时间复杂度为O(n)。示例1:输入: nums = [-2,1,-3,4,-1,2,1,-5,4]输出: 6解释:连续子数组[4,-1,2,1] 的和最大,为6。提示:1 <=arr.length <= 10^5-100 <= arr[i] <= 100思路:动态规划,以当前位置结尾的连续子数组的最大值。状态转移方...

2020-07-23 11:22:14 64

原创 132.(523)连续的子数组和

题目描述:给定一个包含 非负数 的数组和一个目标 整数k,编写一个函数来判断该数组是否含有连续的子数组,其大小至少为 2,且总和为 k 的倍数,即总和为 n*k,其中 n 也是一个整数。示例 1:输入:[23,2,4,6,7], k = 6输出:True解释:[2,4] 是一个大小为 2 的子数组,并且和为 6。示例 2:输入:[23,2,6,4,7], k = 6输出:True解释:[23,2,6,4,7]是大小为 5 的子数组,并且和为 42。说明:数组的长度不会超过 .

2020-07-23 10:27:00 125

原创 131.(740)删除与获得点数

题目描述:给定一个整数数组nums,你可以对它进行一些操作。每次操作中,选择任意一个nums[i],删除它并获得nums[i]的点数。之后,你必须删除每个等于nums[i] - 1或nums[i] + 1的元素。开始你拥有 0 个点数。返回你能通过这些操作获得的最大点数。示例 1:输入: nums = [3, 4, 2]输出: 6解释:删除 4 来获得 4 个点数,因此 3 也被删除。之后,删除 2 来获得 2 个点数。总共获得 6 个点数。示例2:输...

2020-07-22 11:28:40 58

原创 130.(96) 不同的二叉搜索树

题目描述:给定一个整数 n,求以1 ...n为节点组成的二叉搜索树有多少种?示例:输入: 3输出: 5解释:给定 n = 3, 一共有 5 种不同结构的二叉搜索树: 1 3 3 2 1 \ / / / \ \ 3 2 1 1 3 2 / / \ \ 2 1 ...

2020-07-22 08:59:27 54

原创 129.(739)每日温度

题目描述:请根据每日 气温 列表,重新生成一个列表。对应位置的输出为:要想观测到更高的气温,至少需要等待的天数。如果气温在这之后都不会升高,请在该位置用0 来代替。例如,给定一个列表temperatures = [73, 74, 75, 71, 69, 72, 76, 73],你的输出应该是[1, 1, 4, 2, 1, 1, 0, 0]。提示:气温 列表长度的范围是[1, 30000]。每个气温的值的均为华氏度,都是在[30, 100]范围内的整数。代码:class So...

2020-07-19 09:39:22 69

原创 Linux下Linpack测试GPU和CPU性能

前面的文章已经介绍了如何搭建Linpack环境:https://blog.csdn.net/liu_feng_zi_/article/details/107429720接下来说明如何使用一、编写运行脚本:新建文件:run_linpack.sh,内容如下:export HPL_DIR =/root/LHC/Linpack/hpl-2.0_FERMI_v15export MKL_NUM_THREADS=6export OMP_NUM_THREADS=6export MKL_DYNAMI.

2020-07-18 22:25:45 3805

原创 Linux编译报错:error while loading shared libraries: libmkl_intel_lp64.so: cannot open shared object file

报错:编译文件时,报出错误:error while loading shared libraries: libmkl_intel_lp64.so: cannot open shared object file:No such file or directory解决:1、找到该文件所在的目录2、/etc/ld.so.conf.d/目录下新建任何以.conf为后缀的文件3、将找到文件目录添加进新建的文件内4、执行命令:ldconfig...

2020-07-18 19:48:49 6689

原创 Linux搭建Linpack环境测试GPU性能

一、相关软件安装:1、GPU驱动:https://blog.csdn.net/liu_feng_zi_/article/details/1072322522、CUDA:https://blog.csdn.net/liu_feng_zi_/article/details/1072342713、MKL数学库:https://blog.csdn.net/liu_feng_zi_/article/details/1074271024、OpenMPI:https://blog.csdn.net/liu

2020-07-18 18:01:33 3681 7

原创 Linux下编译文件出现错误“/usr/bin/ld: 找不到 -liomp5”

错误:安装编译Linpack时报错:/usr/bin/ld: 找不到 -liomp5解决:链接的库位置:/opt/intel/mkl/lib/intel64这个位置确实没有这个文件,但是在下面的位置,可以找到所需要的文件:/opt/intel/lib/intel64做一个软链接ln -s /opt/intel/lib/intel64/libiomp5.so /opt/intel/mkl/lib/intel64/libiomp5.so这个错误就完美解决了.

2020-07-18 17:56:05 2893 2

原创 Linux下安装OpenMPI(下载,安装,环境变量,例子测试)

1、下载openmpi:https://www.open-mpi.org/2、将文件上传到服务器并解压3、配置安装路径,编译并安装,安装路径自定义./configure --prefix=/usr/local/openmpimakemake install4、设置环境变量,路径为自己安装的路径MPI_HOME=/usr/local/openmpiexport PATH=${MPI_HOME}/bin:$PATHexport LD_LIBRARY_PATH=${MP..

2020-07-18 15:14:29 40388 13

原创 Linux下安装intel数学库Math Kernel Library(MKL)

一、下载1、下载地址:https://software.intel.com/en-us/mkl/choose-download2、点击红框:3、点击红框:4、填写相关信息后,会发送一封邮件,邮件内包含下载地址5、按照下图进行选择二、安装1、将安装包上传到服务器并解压2、进入解压文件,执行命令 ./install.sh进入界面,点击回车键继续点击空格键阅读剩下内容输入accept并点击回车键接受选择配置,这里直接选择默认就...

2020-07-18 13:05:01 19436 16

原创 Linux下Linpack测试CPU性能的相关参数配置以及执行命令

合适的HPL.dat参数设置才能够正常运行以及达到较好的性能。HPLinpack benchmark input fileInnovative Computing Laboratory, University of TennesseeHPL.out output file name (if any)8 device out (6=stdout,7=stderr,file)1 # of problems sizes (N)80000

2020-07-17 20:09:39 6388 10

原创 Linux下Linpack测试CPU性能的相关库、环境搭建部署

1、简介:Linpack是线性系统软件包(Linearsystempackage)的缩写,是国际上使用最广泛的测试高性能计算机系统浮点性能的基准测试。2、相关条件:编译器:支持C和Fortran,这里用的系统自带的gcc矩阵运算库:blas, cblas, openblas, atlas, lapack, mkl,这里使用的是openblas并行环境:MPICHLinpack测试包:hpl-2.33、矩阵运算库安装apt-get install libopenblas...

2020-07-17 19:05:13 2699 4

原创 Linux下批量终止(kill)多个进程

命令:ps -ef|grep "关键字"|grep -v "关键字"|cut -c 9-15|xargs kill -9解释:1、显示所有进程ps -ef例子:2、筛选进程显示含有“关键字”的进程,这里的关键字的位置可以是任意位置,只要是存在在这个进程中的属性grep "关键字"例子:grep bash3、筛选进程去掉含有“关键字”的进程,这里的关键字的位置可以是任意位置,只要是存在在这个进程中的属性grep -v "关键字"例...

2020-07-17 16:44:21 14614

原创 MPI执行程序:mpirun was unable to launch the specified application as it could not access or execute ……

错误:在linux上安装完MPI后,想执行一下自带的例子测试一下,执行下面命令:mpirun -np 4 ./examples/cpi报出下面错误:--------------------------------------------------------------------------mpirun was unable to launch the specified application as it could not accessor execute an execu.

2020-07-14 16:47:31 14361 1

原创 Linux下安装BLAS,CBLAS,LAPACK

1、下载BLAS,CBLAS:http://www.netlib.org/blas/LAPACK:http://www.netlib.org/lapack/2、上传将下载好的三个压缩文件上传到服务器3、解压三个压缩文件解压(tar zxf XXXX.tgz)后,出现以三个文件名命名的文件夹4、编译文件4.1 编译blas,进入BLAS文件夹,执行命令:gfortran -c -O3 *.f # 编译所有的 .f 文件,生成 .o文件ar rv libblas.

2020-07-14 14:11:21 8502

原创 128.(5446)三次操作后最大值与最小值的最小差

题目描述:给你一个数组nums,每次操作你可以选择nums中的任意一个数字并将它改成任意值。请你返回三次操作后, nums中最大值与最小值的差的最小值。示例 1:输入:nums = [5,3,2,4]输出:0解释:将数组 [5,3,2,4] 变成 [2,2,2,2].最大值与最小值的差为 2-2 = 0 。示例 2:输入:nums = [1,5,0,10,14]输出:1解释:将数组 [1,5,0,10,14] 变成 [1,1,0,1,1] 。最大值与最小值的差为 1...

2020-07-12 23:31:45 130

原创 127.(5461) 仅含 1 的子串数(第 197 场周赛)

题目描述:给你一个二进制字符串s(仅由 '0' 和 '1' 组成的字符串)。返回所有字符都为 1 的子字符串的数目。由于答案可能很大,请你将它对 10^9 + 7 取模后返回。示例 1:输入:s = "0110111"输出:9解释:共有 9 个子字符串仅由 '1' 组成"1" -> 5 次"11" -> 3 次"111" -> 1 次示例 2:输入:s = "101"输出:2解释:子字符串 "1" 在 s 中共出现 2 次示例 3:.

2020-07-12 13:51:10 106

原创 126.(5460)好数对的数目(第 197 场周赛)

题目描述:给你一个整数数组nums。如果一组数字(i,j)满足nums[i]==nums[j]且i<j,就可以认为这是一组好数对。返回好数对的数目。示例 1:输入:nums = [1,2,3,1,1,3]输出:4解释:有 4 组好数对,分别是 (0,3), (0,4), (3,4), (2,5) ,下标从 0 开始示例 2:输入:nums = [1,1,1,1]输出:6解释:数组中的每组数字都是好数对示例 3:输入:num...

2020-07-12 13:49:00 147

原创 125.(5445)子数组和排序后的区间和(第30场双周赛)

题目描述:给你一个数组nums,它包含n个正整数。你需要计算所有非空连续子数组的和,并将它们按升序排序,得到一个新的包含n * (n + 1) / 2个数字的数组。请你返回在新数组中下标为left到right(下标从 1 开始)的所有数字和(包括左右端点)。由于答案可能很大,请你将它对 10^9 + 7 取模后返回。示例 1:输入:nums = [1,2,3,4], n = 4, left = 1, right = 5输出:13 解释:所有的子数组和为 1, 3, ...

2020-07-12 00:27:51 179

原创 124.(5177)转变日期格式(第30场双周赛)

题目描述:给你一个字符串date,它的格式为Day Month Year,其中:Day是集合{"1st", "2nd", "3rd", "4th", ..., "30th", "31st"}中的一个元素。 Month是集合{"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}中的一个元素。 Year的范围在 ​[1900, 2100]之间。请你将字符串转变为...

2020-07-12 00:24:19 183

原创 123.(136)只出现一次的数字

题目描述:给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?示例 1:输入: [2,2,1]输出: 1示例2:输入: [4,1,2,1,2]输出: 4代码:class Solution {public: int singleNumber(vector<int>& nums) { int len=nums.

2020-07-11 15:54:58 156

原创 122.(79)单词搜索

题目描述:给定一个二维网格和一个单词,找出该单词是否存在于网格中。单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。示例:board =[ ['A','B','C','E'], ['S','F','C','S'], ['A','D','E','E']]给定 word = "ABCCED", 返回 true给定 word = "SEE", 返回 true给定 word = "AB...

2020-07-11 15:29:17 74

原创 121.(78)子集

题目描述:给定一组不含重复元素的整数数组nums,返回该数组所有可能的子集(幂集)。说明:解集不能包含重复的子集。示例:输入: nums = [1,2,3]输出:[ [3],[1],[2],[1,2,3],[1,3],[2,3],[1,2],[]]代码:class Solution {public: vector<vector<int>> subsets(vector<int>&am...

2020-07-11 10:16:26 99

原创 120.(75)颜色分类

题目描述:给定一个包含红色、白色和蓝色,一共n 个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。此题中,我们使用整数 0、1 和 2 分别表示红色、白色和蓝色。注意:不能使用代码库中的排序函数来解决这道题。示例:输入: [2,0,2,1,1,0]输出: [0,0,1,1,2,2]进阶:一个直观的解决方案是使用计数排序的两趟扫描算法。首先,迭代计算出0、1 和 2 元素的个数,然后按照0、1、2的排序,重写当前数组。你能想出一个仅..

2020-07-10 18:06:53 144

原创 119.(56)合并区间

题目描述:给出一个区间的集合,请合并所有重叠的区间。示例 1:输入: [[1,3],[2,6],[8,10],[15,18]]输出: [[1,6],[8,10],[15,18]]解释: 区间 [1,3] 和 [2,6] 重叠, 将它们合并为 [1,6].示例2:输入: [[1,4],[4,5]]输出: [[1,5]]解释: 区间 [1,4] 和 [4,5] 可被视为重叠区间。代码:class Solution {public: vector<vector&.

2020-07-10 16:02:30 142

原创 118.(55)跳跃游戏

题目描述:给定一个非负整数数组,你最初位于数组的第一个位置。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个位置。示例1:输入: [2,3,1,1,4]输出: true解释: 我们可以先跳 1 步,从位置 0 到达 位置 1, 然后再从位置 1 跳 3 步到达最后一个位置。示例2:输入: [3,2,1,0,4]输出: false解释: 无论怎样,你总会到达索引为 3 的位置。但该位置的最大跳跃长度是 0 , 所以你永远不可能到达最后一个位置。..

2020-07-10 15:09:22 48

原创 Linux GPU跑程序显存占用和计算使用都为0(CUDA driver version is insufficient for CUDA runtime version)

安装好CUDA,配置好环境变量后,在GPU上跑程序,发现完全没有在GPU上跑,很奇怪。后面测试一下CUDA安装自带的例子cd /usr/local/cuda-9.2/samples/1_Utilities/deviceQuerymake./deviceQuery 报出错误:cudaGetDeviceCount returned 35-> CUDA driver version is insufficient for CUDA runtime version原因:CUDA

2020-07-09 19:44:16 1076

快速排序优化的几种方法代码实现

快速排序的几种优化方法,对各种优化进行了代码实现,包括使用随机基准,中位数基准、聚集基准等方法。快速排序的几种优化方法,对各种优化进行了代码实现,包括使用随机基准,中位数基准、聚集基准等方法。

2020-09-15

HPL_GPU.rar

使用Linpack测试GPU性能,教程,英文版,环境搭建、参数设置、执行命令都有,可以供参考,就是版本比较早,找不到比较新的版本

2020-07-18

SQL基础教程.rar

SQL基础教程——第二版。Oracle Database 12cR1、 SQL Server 2014、DB2 10.5、PostgreSQL 9.5.3、MySQL 5.7

2020-06-19

OpenACC并行编程实战

OpenACC并行编程实战,详细的介绍了各种构件和导语等,以及openacc的异步操作,与GPU的互操作等

2020-06-15

openmp-4.5.rar

OpenMP 4.5版本官方手册,OpenMP Application Programming Interface version 4.5

2020-06-13

openmp-3.0.rar

openmp官方手册,OpenMP Application Program Interface Version 3.0.

2020-06-13

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

TA关注的人

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