- 博客(27)
- 资源 (54)
- 收藏
- 关注
原创 覆盖数字【解】--英雄会
首先看看题目:给定整数区间[a,b]和整数区间[x,y],你可以使用任意多次a,b之间的整数做加法,可以凑出多少个[x,y]区间内的整数? 输入 a,b,x,y,其中1<= a < b <= 1000000000, 1 <= x < y <= 1000000000。 输出: 用[a,b]内的整数做任意多次加法,可以得到多少个[x,y]内的整数。 例如a = 8, b = 10, x = 3 , y = 20 我们可以得到 [3..20]之间的整数 8, 9, 10, 16 ( 8 + 8),
2013-12-29 13:49:58 1191
原创 杨辉三角的变形【解】--英雄会
今天看到一个有趣的题目: 1 1 1 1 1 2 3 2 1 1 3 6 7 6 3 1 以上三角形的数阵,第一行只有一个数1, 以下每行的每个数,是恰好是它上面的数,左上的数和右上数等3个数之和(如果不存在某个数,认为该数就是0)。求第n行第一个偶数出现的位置。如果没有偶数,则输出-1。例如输入3,则输出2,输入4则输出3。 输入n(n <= 1000000000)
2013-12-23 23:31:46 1660
原创 最小操作次数的简易版【解】--英雄会
英雄会:给定两个字符串,仅由小写字母组成,它们包含了相同字符。 求把第一个字符串变成第二个字符串的最小操作次数,且每次操作只能对第一个字符串中的某个字符移动到此字符串中的开头。 例如给定两个字符串“abcd" "bcad" ,输出:2,因为需要操作2次才能把"abcd"变成“bcad" ,方法是:abcd->cabd->bcad。
2013-12-21 12:53:15 2200 6
原创 给定某年某月,输出该月日历--【编程珠玑】
继给定两个日子计算相差天数和给定某个日子,返回在一周的第几天,接下来还有一个给定某年某月,输出该月日历;其实思想很简单,都是与1900-1-1相减,这样得到每月的第一天星期几,这样便于输出第一行;
2013-12-31 10:52:38 4203 3
原创 给定日子,返回是一周的第几天--【编程珠玑】
给定日子,判断是一周的第几天;这一题其实是和上一篇是一个系列的,由于我只找到1900年1月1日星期一,暂且先判断这以后的日期吧;(一周的第一天是星期天,即周日)上一篇是用来得到两个日期的天数的,那这一道就窃取上一道的劳动成果了;通过得到目的日期与1900-1-1相差日期,对7取余,判断即可:
2013-12-31 09:34:32 1703
原创 两个日期之间的天数--【编程珠玑】
被csdn各种大牛打击的...继续加油...今天翻了下《编程珠玑》,其实这本书感觉对自己还是有点深,吃不透啊。看到一题,有一小问是给定两个日子,计算这两个日子的天数;碰巧前几天做web作业也有差不多这题的,不过那一题直接调用系统函数的,两个日期一减/1000/60/60/24就是天数了;c中还真不知道有没有这样强大的函数,如果有,各位告诉我一下;说一下我实现的吧,给了两个日期,分别求出由公元元年开始过的天数,然后相减,即是相差的天数(正负不计较,大家都明白的);
2013-12-30 22:40:44 2074 1
原创 均分01【解】--英雄会
给定一个字符串,长度不超过100,其中只包含字符0和1,并且字符0和1出现的次数都是偶数。你可以把字符串任意切分,把切分后的字符串任意分给两个人,让两个人得到的0的总个数相等,得到的1的总个数也相等。 例如,输入串是010111,我们可以把串切位01, 011,和1, 把第1段和第3段放在一起分给一个人,第二段分给另外一个人,这样每个人都得到了1个0和两个1。我们要做的是让切分的次数尽可能少。 输入是这样一个字符串,输出是最少的切分次数,保证输入合法。 注:题目一定有解,因为我们最差情况时,
2013-12-30 13:13:08 1929 2
原创 数组排序【解】--英雄会
如题:本题来自caopengcs,只要你有兴趣,每个人都可以出题(出题入口在主页右侧边栏“贡献题目”->“我要发布”内),以下是题目详情: 给定一个包含1-n的数列,我们通过交换任意两个元素给数列重新排序。求最少需要多少次交换,能把数组排成按1-n递增的顺序,其中,数组长度不超过100。 例如: 原数组是3,2,1, 我们只需要交换1和3就行了,交换次数为1,所以输出1。 原数组是2,3,1,我们需要交换2和1,变成1,3,2,再交换3和2,变为1,2,3,总共需要的交换次数为2,所以输出2。
2013-12-29 20:15:29 936
原创 【VC++】009菜单命令响应函数
首先新建一个MFC的工程,执行一下,我们发现在菜单栏里面有一些菜单命令,当我们点击的时候,它就会响应,从而实现功能;在VC++中,有一个所见即所得的资源编辑器,我们可以直接添加菜单项;
2013-12-29 17:22:37 1260
原创 【VC++】008字符输入之设置字体,字幕变色功能
在一些歌曲播放的时候,我们会发现字母的颜色是一点一点的改变的;这样,我们会使用到CDC类的另外一个函数,DrawText,它是用来在一定的区域内输出文字;int DrawText( const CString& str, LPRECT lpRect, UINT nFormat );其中str指的是需要输出的字符串,lpRect是指定文字显示范围的矩形,nFormat是文本的输出格式;有诸多格式nFormat:
2013-12-29 00:08:31 2409
原创 【VC++】007字符输入
CClientDC dc(this); TEXTMETRIC tm; dc.GetTextMetrics(&tm); if(0x0d==nChar) //回车 { m_strLine.Empty(); m_ptOrigin.y+=tm.tmHeight; } else if(0x08==nChar) //退格 { COLORREF clr=dc.SetTextColor(dc.GetBkColor()); dc.TextOut(m_ptOrigin.x,m_ptOrigin
2013-12-28 22:56:53 1356
原创 【VC++】006路径
BOOL SelectClipPath( int nMode );其中nMode用来指定互操作的模式;Specifies the way to use the path. The following values are allowed: •RGN_AND The new clipping region includes the intersection (overlapping areas) of the current clipping region and the current pat
2013-12-28 22:04:48 1230
原创 【VC++】005窗口重绘
在前面的绘制直线,或是画刷之类的我们发现当我们改变窗口大小的时候,之前的操作就会不见;在***View类中,我们会发现有个OnDraw函数,如果我们在此设下一个断点,调试,我们会发现每当窗口出现时,就会进入OnDraw函数;void CProject3View::OnDraw(CDC* pDC){ CProject3Doc* pDoc = GetDocument(); ASSERT_VALID(pDoc); // TODO: add draw code for native data here
2013-12-27 21:33:47 1335
原创 【VC++】004插入符
1.创建文本插入符在程序中想创建插入符,可以利用CWnd类的CreateSolidCaret()函数完成:void CreateSolidCaret( int nWidth, int nHeight );其中,nWidth是插入符的宽度,nHeight则是高度;2.创建图形插入符【VC++】002使用画刷绘图中有了创建使用位图的说明,可以选择自己新建一个位图;
2013-12-27 20:15:21 1180
原创 【VC++】001绘制直线
绘制线条大家很容易想到了画图软件,简单的通过鼠标左键的点击移动来绘制。首先建立MFC单文档DrawStraight工程,建立成功之后,在CDrawStraightView(后简称view)新建私有CPoint类型的m_ptOrigin,并在构造函数view中初始化为0;
2013-12-25 20:46:11 2877
原创 回文字符串<交流>--英雄会
回文字符串是指从左到右和从右到左相同的字符串,现给定一个仅由小写字母组成的字符串,你可以把它的字母重新排列,以形成不同的回文字符串。 输入:非空仅由小写字母组成的字符串,长度不超过100; 输出:能组成的所有回文串的个数(因为结果可能非常大,输出对1000000007取余数的结果)。 例如:输入"aabb" 输出为2(因为“aabb”对应的所有回文字符串有2个:abba和baab)
2013-12-23 16:04:42 1047
原创 倒水问题--英雄会
先看看题目:有两个容器,容积分别为A升和B升,有无限多的水,现在需要C升水。 我们还有一个足够大的水缸,足够容纳C升水。起初它是空的,我们只能往水缸里倒入水,而不能倒出。 可以进行的操作是: 把一个容器灌满; 把一个容器清空(容器里剩余的水全部倒掉,或者倒入水缸); 用一个容器的水倒入另外一个容器,直到倒出水的容器空或者倒入水的容器满。 问是否能够通过有限次操作,使得水缸最后恰好有C升水。
2013-12-23 13:47:06 1144
原创 字符串的完美度--英雄会<高校俱乐部>
我们要给每个字母配一个1-26之间的整数,具体怎么分配由你决定,但不同字母的完美度不同, 而一个字符串的完美度等于它里面所有字母的完美度之和,且不在乎字母大小写,也就是说字母F和f的完美度是一样的。 现在给定一个字符串,输出它的最大可能的完美度。 例如:dad,你可以将26分配给d,25分配给a,这样整个字符串最大可能的完美度为77。 函数头部 C int perfect(const char *s); C++ int perfect(const string &s); java public static
2013-12-23 13:17:14 1120
原创 【VC++】003绘制连续线条-扇形线条
将作业处理完了...在前面的基础上继续前行,前面画的是直线什么的,这次做的是连续线条,就像我们写字一样;1.绘制连续线条我们都了解线条的原理,不清楚请看【VC++】001绘制直线http://blog.csdn.net/xjm199/article/details/17486277view依然以view结尾的,即C工程名View。。。
2013-12-22 23:27:30 2035
原创 【VC++】002使用画刷绘图
继续走...1.简单画刷//创建一个红色画刷CBrush brush(RGB(255,0,0));//创建并获得设备描述表CClientDC dc(this);//形成矩形区域dc.FillRect(CRect(m_ptOrigin,point),&brush);同样,画刷也是通过鼠标的点击与放开从而获得矩形的对角两点,进行绘画矩形区域;在msdn中,CRect有以下
2013-12-22 18:10:33 2155
原创 建立信号基站【解】--英雄会
建立信息基站:要建立一个信号基站服务n个村庄,这n个村庄用平面上的n个点表示。假设基站建立的位置在(X,Y),则它对某个村庄(x,y)的距离为max{|X – x|, |Y – y|}, 其中| |表示绝对值,我们的目标是让所有村庄到信号基站的距离和最小。 基站可以建立在任何实数坐标位置上,也可以与某村庄重合。
2013-12-21 23:57:38 1368
原创 理想随机数发生器【解】--英雄会
一个理想随机数发生器R,给定参数正整数x,它可以均匀随机产生一个闭区间[0,x]之间的实数(注意是实数,每个实数出现的概率相同)R(x)。现在给定3个正整数a,b,c,我们使用a,b产生两个随机实数R(a), R(b),问R(a) + R(b) 正整数均不超过10000 输出: R(a) + R(b) 注意输出是一个有理数(分数),请化为最简分数。(分子分母的最大公约数是1)。
2013-12-21 15:31:09 919
原创 整数取反,人人code--英雄会
题目很简单,完成函数reverse,要求实现把给定的一个整数取其相反数的功能,举两个例子如下: x=123,return321 x=-123,return-321 如题,这题目很简单,就不跟小伙伴们废话了,在英雄会上判定也是一个一星的题而已,入门... 将一个整数按照我们的常规思路 不断取余,再舍弃尾数,这样录入得到各个位数的值,再将其反转,最后将之前是否有负号重新补上;
2013-12-20 21:03:59 1155
原创 寻找直方图中面积最大的矩形--英雄会
直方图中面积最大的矩形:给定直方图,每一小块的height由N个非负整数所确定,每一小块的width都为1,请找出直方图中面积最大的矩形。 如下图所示,直方图中每一块的宽度都是1,每一块给定的高度分别是[2,1,5,6,2,3]; 那么上述直方图中,面积最大的矩形面积 = 10单位。
2013-12-20 18:15:13 897
原创 [序]最长有效括号的长度-动态规划--英雄会
Pongo英雄会:给定只包含括号字符'('和 ')''的字符串,请找出最长的有效括号内子括号的长度。举几个例子如下: 例如对于"( ()",最长的有效的括号中的子字符串是"()" ,有效双括号数1个,故它的长度为 2。 再比如对于字符串") () () )",其中最长的有效的括号中的子字符串是"() ()",有效双括号数2个,故它的长度为4。 再比如对于"( () () )",它的长度为6。
2013-12-20 14:34:41 1439
原创 最长有效括号的长度--英雄会
第一次博客,大家将就下...给定只包含括号字符'('和 ')''的字符串,请找出最长的有效括号内子括号的长度。 举几个例子如下: 例如对于"( ()",最长的有效的括号中的子字符串是"()" ,有效双括号数1个,故它的长度为 2。 再比如对于字符串") () () )",其中最长的有效的括号中的子字符串是"() ()",有效双括号数2个,故它的长度为4。 再比如对于"(
2013-12-19 23:22:43 781
覆盖数字--英雄会pongo
2013-12-29
VC++窗口重绘
2013-12-27
插入符(文本插入符, 图形插入符)
2013-12-27
杨辉三角的变形
2013-12-23
画刷绘图MFC
2013-12-22
使用画刷绘图
2013-12-22
绘制直线MFC
2013-12-22
建立信号基站
2013-12-21
理想随机数发生器
2013-12-21
最小操作次数的简易版--英雄会
2013-12-21
整数取反,人人code
2013-12-20
[纠错]直方图中矩形最大面积
2013-12-20
寻找直方图中面积最大的矩形
2013-12-20
最长有效括号的长度
2013-12-20
c/c++二分查找修改版
2013-12-02
二分查找修改版
2013-12-02
c_library库函数
2013-11-28
如何学好编程
2013-11-26
亲密数Close
2013-11-12
钢条切割-【算法导论-动态规划】
2014-04-23
插入排序-《编程珠玑》
2014-04-01
变位词《编程珠玑》
2014-03-20
位图排序《编程珠玑》
2014-03-18
二叉搜索树三种访问方式
2014-02-28
倒排索引处理文档
2014-01-16
堆排序(最大堆修改版)【算法导论】
2014-01-08
堆排序最大堆【算法导论】
2014-01-08
二十进制数的加法【庞果网英雄会】
2014-01-06
菜单命令的路由【VC++】
2014-01-01
给定某年某月,输出该月日历
2013-12-31
给定一个日子,返回是一周的第几天
2013-12-31
两个日期相差的天数【编程珠玑】
2013-12-30
均分01【庞果网 英雄会】
2013-12-30
数组排序【庞果网、英雄会】
2013-12-29
VC++菜单命令响应函数
2013-12-29
VC++设置字体字幕变色
2013-12-29
VC++字符输入
2013-12-28
MFC路径【VC++】
2013-12-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人