- 博客(91)
- 收藏
- 关注
原创 操作系统任务调度问题。操作系统任务分为系统任务和用户任务两种。其中,系统任务的优先级 < 50,用户任务的优先级 >= 50且 <= 255。优先级大于 255的为非法任务,应予以剔除。现有一任务队列
操作系统任务调度问题。操作系统任务分为系统任务和用户任务两种。现有一任务队列 task[],长度为 n,task中的元素值表示任务的优先级,数值越小,优先级越高。函数 scheduler 实现如下功能,将 task[] 中的任务按照系统任务用户任务依次存放到 system_task[] 数组和 user_task[] 数组中 (数组中元素的值是任务在 task[] 数组中的下标),并且优先级高的任务排在前面,优先级相同的任务按照入队顺序排列(即先入队的任务排在前面),数组元素为-1表示结束。
2022-12-17 11:30:15 330
原创 假设你有一个数组,其中第i个元素是某只股票在第i天的价格。设计一个算法来求最大的利润。你最多可以进行两次交易。
你不能同时进行多个交易(即,你必须在再次购买之前出售之前买的股票)。假设你有一个数组,其中第i个元素是某只股票在第i天的价格。设计一个算法来求最大的利润。你最多可以进行两次交易。
2022-12-16 10:23:48 447
原创 给定一个无序的整数类型数组,求最长的连续元素序列的长度。
/同时搜,只要搜到了就删除,最后求出长度。哈希表搜是O(1),因为每个数字只会添加一次,//用散列表,首先将数字都映射到散列表上,然后,对于每个数字,找到后就删除,然后向两边。最长的连续元素序列为[1, 2, 3, 4]. 返回这个序列的长度:4。给出的数组为[1000, 4, 2000, 1, 3, 2],给定一个无序的整数类型数组,求最长的连续元素序列的长度。你需要给出时间复杂度在O(n)之内的算法。//删除一次,所以复杂度是O(n)
2022-12-16 10:23:07 182
原创 请给Array本地对象增加一个原型方法,它用于删除数组条目中重复的条目(可能有多个),返回值是一个包含被删除的重复条目的新数组。
请给Array本地对象增加一个原型方法,它用于删除数组条目中重复的条目(可能有多个),返回值是一个包含被删除的重复条目的新数组。
2022-12-15 09:00:57 68
原创 给定如下的n*n的数字矩阵,每行从左到右是严格递增, 每列的数据也是严格递增 1 2 3 3 5 6 4 8 9 现在要求设计一个算法, 给定一个数k 判断出k是否在这个矩阵中。 描
算法思想: 沿着对角线查找,获得i,使得k位于a[i][i]与a[i+1][i+1]之间。k只可能存在于a[i][i]对应的右上角矩阵 和a[i+1][i+1]对应的左下角矩阵。使用递归法继续查找即可。时间复杂度 O(n)现在要求设计一个算法, 给定一个数k 判断出k是否在这个矩阵中。描述算法并且给出时间复杂度(不考虑载入矩阵的消耗)给定如下的n*n的数字矩阵,每行从左到右是严格递增, 每列的数据也是严格递增。
2022-12-15 09:00:16 209
原创 定义一个表示教师的结构体变量,教师信息包含:编号,姓名,年龄,职称。编写程序从键盘输入一个教师的信息,然后将该教师的信息显示在屏幕上。
printf("教师编号为%s, 名字为%s, 年龄为%d, 职称为%s", t.number, t.name, t.age, t.level);定义一个表示教师的结构体变量,教师信息包含:编号,姓名,年龄,职称。编写程序从键盘输入一个教师的信息,然后将该教师的信息显示在屏幕上。printf("请输入教师的编号:");printf("请输入教师的姓名:");printf("请输入教师的年龄:");printf("请输入教师的职称:");
2022-12-14 14:52:56 1781 1
原创 编写程序, 从键盘输入一个整数分钟数,将其换算成用小时和分钟表示,然后输出。
编写程序, 从键盘输入一个整数分钟数,将其换算成用小时和分钟表示,然后输出。printf("小时 = %d, 分钟 = %d", hour, m);printf("请输入分钟数:");
2022-12-14 14:52:04 5564
原创 opencv之图像区域选择
void frame_sub(Mat &inputimage1, Mat &inputimage2, Mat &outputimage, int pos) //差分并二值化。void frame_sub(Mat &inputimage1, Mat &inputimage2, Mat &outputimage, int pos) //差分并二值化。//寻找的是异物的最小外接矩形框。
2022-12-13 13:18:15 405
原创 cvCreateTrackbar
CvTrackbarCallback on_change//可选的回调函数,回调函数可参见http://wapedia.mobi/zhtrad/回调函数。int* value,//当滑动条被拖到时,OpenCV会自动将当前位置所代表的值传给指针指向的整数。const char* window_name,//窗口的名称,滑动条不会遮挡图像。const char* trackbar_name,//滑动条的名称。int count,//滑动条所能达到的最大值。//读取value值。//设置value值。
2022-12-12 21:54:03 605
原创 OpenCV 之 图像分割
灰度阈值化,是最简单也是速度最快的一种图像分割方法,广泛应用在硬件图像处理领域 (例如,基于 FPGA 的实时图像处理)。假设输入图像为 f,输出图像为 g,则经过阈值化处理的公式如下:$\quad g(i, j) = \begin{cases} 1 & \text{当 f(i, j) ≥ T 时} \\0 & \text{当 f(i, j) < T 时} \\ \end{cases} $
2022-12-12 21:53:32 1737
原创 在Ubuntu上编译Opencv
sudo apt-get install libv4l-dev v4l-utils qv4l2 v4l2ucp下载最新的版本:下载稳定的版本:cd buildcmake ..make。
2022-12-11 21:59:42 135
原创 OpenCV 3与ROS兼容、OpenCV多版本共存
好崩溃啊!好崩溃啊!好崩溃啊!在这个问题上卡住了两天半。。。希望国内的博客能多一点解决各种问题的帖子,这样就不用都翻墙查英文的去了,累死。。。
2022-12-10 23:43:21 507
原创 在没有安装opencv的电脑中运行opencv程序
首先要确定程序使用了OpenCV的哪些库函数,一般来说,cv、cxcore和highgui是必需的,为简化说明,下面将只编译这三个库,如果有使用 其它库,同样也要加入。系统环境为:WindowsXP+VC6.0+OpenCV1.0。1、 为方便管理,先将OpenCv安装目录下的cv、cxcore、otherlibs/highgui三个目录复制到你的工程目录。2、 在集成开发环境的项目管理窗口中(FileView)新建两个文件夹,分别为opencv_src,opencv_include。
2022-12-10 23:38:31 804
原创 OpenCV读取视频文件
*----------------------------------------OpenCV视频读取代码---------------------------------------------*/* 注意,这里不能释放,释放会出错。
2022-12-09 12:58:29 664
原创 VMware Workstation安装Opencv
4. Opencv安装包链接http://pan.baidu.com/s/1o7SPItG密码:t1iu。7. 执行安装 sudo make install。(注意:cmake命令后隔着一个空格,然后有一个点)5. 进入解压完的Opencv中。6. 输入 sudo make。安装完后,解压在home中。1. 首先升级系统。9. 安装相关库。
2022-12-09 12:58:09 191
原创 NowCoder最近爱上了五子棋,现在给你一个棋局,请你帮忙判断其中有没有五子连珠(超过五颗也算)。
NowCoder最近爱上了五子棋,现在给你一个棋局,请你帮忙判断其中有没有五子连珠(超过五颗也算)。解析:
2022-12-08 11:34:00 496
原创 从C/C++转到Java的程序员,一开始最不习惯的就是变量命名方式的改变。C语言风格使用下划线分隔多个单词,例如“hello_world”;而Java则采用一种叫骆驼命名法的规则:除首个单词以外,所有
从C/C++转到Java的程序员,一开始最不习惯的就是变量命名方式的改变。C语言风格使用下划线分隔多个单词,例如“hello_world”;而Java则采用一种叫骆驼命名法的规则:除首个单词以外,所有单词的首字母大写,例如“helloWorld”。请你帮可怜的程序员们自动转换变量名。解析:
2022-12-08 11:33:14 138
原创 请实现函数,输入一个参数baseStr是一个(可以更改的)字符串,请将其中所有连续出现的多个空格替换成一个空格,单空格需保留。可以使用任何语言,如需使用任何库函数,必须同时给出库函数的实现。
请实现函数,输入一个参数baseStr是一个(可以更改的)字符串,请将其中所有连续出现的多个空格替换成一个空格,单空格需保留。可以使用任何语言,如需使用任何库函数,必须同时给出库函数的实现。解析:
2022-12-07 10:38:35 56
原创 opencv-openCV1.x与openCV2.x的混合使用
由于openCV1.x和2.x版本之间存在比较大的改动网上的程序基于不同版本而写的程序和函数可能与自己使用的版本不一样这时就需要对IplImage变量和Mat变量进行转换具体方式见http://www.opencv.org.cn/opencvdoc/2.3.2/html/doc/tutorials/core/interoperability_with_OpenCV_1/interoperability_with_OpenCV_1.html#interoperabilitywithopencv1我总结了一下,
2022-12-05 12:20:24 72
原创 opencv配置与在未安装opencv电脑上运行opencv程序
一、安装与配置适合VC++6.0的是opencv1.0版本。可从此处下载http://www.opencv.org.cn/index.php/Download注意:在安装的时候加入环境变量(默认安装即可)。1、加入库文件、包含文件和资源文件tools-options-directories设置Iib:只需要一个,C:\Program Files\OpenCV\lib设置include:多个,常用的都添加(注意otherlibs里面有)设置src:多个,常用的都添加2、在项目中运用opencv在project
2022-12-05 12:19:48 293
原创 jquery 通过ajax FormData 对象上传附件
url:projectName+"/testactivity/test" ,//后台请求。之前上传附件都是用插件,或者用form表单体检(这个是很久以前的方式了),今天突发奇想,自己来实现附件上传,具体实现如下。var file=this.files[0]//获取附件对象,可通过数组封装再提交。流程图:
2022-12-04 08:13:32 413
原创 哈理工OJ 1674 充电(贪心算法)
充电玻璃小屋内有n个插排,屋内有 m 个需要供电的机器,并且墙上有k个可以直接使用的插口。知道了每个插排上的插口的个数,并且所有的插头和插口都是可以匹配的。问你最少用几个插排可以让所有机器都供上电?Input多组测试数据,每组第一行输入n, m, k。第二行有n个数,分别表示每个插排上插口的个数。Output输出最少需要几个插排。如果有电器无法充上电则输出-1。每组输出占一行。
2022-12-04 08:13:20 169
原创 贪心算法解决tsp问题
printf("本次访问的城市%d 距离下一个%d城市%d\n",s[i],s[i+1], distance[ s[i] ][ s[i+1] ] );distance是一个二维数组,存放了 i, j 城市间的距离, distance [i][ s [currentCity]] 表示第i个城市 和 当前访问城市间的距离 .i 不断增加,遍历了所有的城市,就可以找到最短距离了.// 剩下就是初始条件了, 初始化出发的城市,可以是0,1,2,3任意一个。
2022-12-03 20:13:46 2395
原创 贪心算法处理背包问题
物品效益值(P1,P2,P3,P4,P5,P6)=(10,18,40,56,30,15);P,W分别用一个数组表示,返回解序列X。
2022-12-03 20:13:39 79
原创 单源最短路径_贪心算法
System.out.println("从1出发到2、3、4、5的最短路径依次是:");System.out.println("从1到5最短路径经过的点为:");//假设从顶点1处出发。
2022-12-02 22:12:30 155
原创 单源最短路径(贪心算法)
//找出一个与源点相连的最小的点。最近在研究算法设计与分析,看到了单源最短路劲,特发文一篇。其中,第一行数据是当前节点的前一个节点。下面代码就是实现这个有向联通图。
2022-12-02 22:11:56 760
原创 ACM第一专题—贪心算法总结
输入T表示搬桌子的组数,输入N表示每一组要搬的桌子数,接下来的N行输入桌子搬出的房间和搬入的房间。题意:一个加工木棍的机器,如果后面加工的木棍比前面的长且重,则不需要调机器,否则需要一分钟调机器,输入T组测试实例,每组由N跟木棒编写程序,计算并输出每组测试实例所用的最短的调机器的时间。贪心策略:如果田忌最好的马能赢国王最好的马,让他俩比一局;贪心策略:因为走廊不可以同时搬运两张桌子,可以将每两个相对的门之间的走廊设为一个参数,统计每组桌子搬完后走廊的占用次数,最大占用次数乘10即为所求时间。
2022-12-01 09:29:22 115
原创 换零钱实现之贪心算法
下面就一个例子来说明贪心的实现过程:就以一个换零钱的例子吧,输入一个数字的面额,求出用100,50...等等面额怎么才能换成像对应的钱。cout
2022-12-01 09:28:57 309
原创 贪心算法练习:数列极差问题
/min1,min2表示最小和次小的两个数的值。//max1,max2表示最大和次大的两个数的值。//保存整个数组的最大值,以便在调用max()函数的时候方便寻找最小的两个数。29 //注意:数组a里面最小和次小的两个数可以是一样大小,但不可能是下标相同的两个数 .80 //注意:数组a里面最大和次大的两个数可以是一样大小,但不可能是下标相同的两个数 .//更新当前数组里面的最大值。//整个数组里面的最大的数。最后得到的数中,最大的记为max,最小的记min,则该数列的极差。
2022-11-30 15:35:19 1399
原创 贪心算法解决会场安排问题
假设要在足够多的会场里安排一批活动,并希望使用尽可能少的会场。(这个问题实际上是著名的图着色问题。若将每一个活动作为图的一个顶点,不相容活动间用边相连。使相邻顶点有不同颜色的最小着色数,相应于要找的最小会场数。思路:遍历所有的活动时间,如果时间可叠加到前面已有活动的会场的,则叠加到已有活动;如不可叠加,则新加会场。由文件input.txt给出输入数据,第一行又一个正整数K,表示有K个待安排的活动。接下来有K行数据,每行有两个正整数,分别表示K个待安排的活动的开始时间和结束时间。贪心算法解决会场安排问题。
2022-11-30 15:33:22 346
原创 背包问题的贪心算法求解
System.out.println("Now, the largest values of objects in the pack is(背包中物品的最大价值为:)" + maxValue);System.out.println("Now, please enter the value of these objects(现在请输入这些物品的价值:)");System.out.println("The solution vector is(解向量是:)" + Arrays.toString(x));
2022-11-28 17:02:36 278
原创 codevs均分纸牌 贪心算法
移牌规则为:在编号为 1 堆上取的纸牌,只能移到编号为 2 的堆上;在编号为 N 的堆上取的纸牌,只能移到编号为 N-1 的堆上;其他堆上取的纸牌,可以移到相邻左边或右边的堆上。从 ③ 取 4 张牌放到 ④ (9 8 13 10) -> 从 ③ 取 3 张牌放到 ②(9 11 10 10)-> 从 ② 取 1 张牌放到①(10 10 10 10)。有 N 堆纸牌,编号分别为 1,2,…An (N 堆纸牌,每堆纸牌初始数,l
2022-11-27 14:04:37 116
原创 贪心算法之喷水装置(一)水题
现有一块草坪,长为20米,宽为2米,要在横中心线上放置半径为Ri的喷水装置,每个喷水装置的效果都会让以它为中心的半径为实数Ri(0
2022-11-27 14:04:06 76
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人