![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
AQH~
学习中寻找快乐。。。
展开
-
2020 计蒜之道 预赛 第一场
A. 五子棋计蒜之道程序设计大赛已经迎来了第六届,蒜头君很开心,决定带上好友们一起下一把五子棋,并由自己来担任裁判。五子棋的规则为:双方分别使用黑白两色的棋子,每次落子(放置一个己方颜色的棋子),放在棋盘直线与横线的交叉点上,一方先形成至少五个己方颜色棋子连成一线者获胜。黑色棋子先手(第一个放置的棋子颜色一定是黑色)。在这里,没有任何禁手的限制(如果你不清楚禁手是什么,可以忽略这句话)。也就意味着,当一方出现六子连珠或更多己方棋子连成一条线时,也算这方胜利。当一方将要落子,且有至少一处落子...原创 2020-09-16 17:53:26 · 248 阅读 · 0 评论 -
整数中1出现的次数(从1到n整数中1出现的次数)( 时间效率)
题目描述求出1~13的整数中1出现的次数,并算出100~1300的整数中1出现的次数?为此他特别数了一下1~13中包含1的数字有1、10、11、12、13因此共出现6次,但是对于后面问题他就没辙了。ACMer希望你们帮帮他,并把问题更加普遍化,可以很快的求出任意非负整数区间中1出现的次数(从1 到 n 中1出现的次数)。思路①暴力循环遍历,易超时。②设N = abcde ,其中ab...原创 2018-08-13 08:37:01 · 152 阅读 · 0 评论 -
最小的K个数( 时间效率 )
题目描述输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,。思路这一题很简单的想到了堆排序,堆排序就是每次归位一个最大值/最小值,直接上代码,堆排序。void MaxHeap(int a[],int n){ //数组辅组,找到第一个有孩子的节点 for(int i=n/2-1;i>=0;...原创 2018-08-13 08:45:33 · 153 阅读 · 0 评论 -
数字在排序数组中出现的次数(知识迁移能力)
题目描述统计一个数字在排序数组中出现的次数。思路有序,二分查找,定位成功后,向前向后统计。int GetNumberOfK(vector<int> a ,int k) { int n=a.size(); int l=0,r=n-1; int p=-1,sum=0; while(l<=r){ int mid=(l+...原创 2018-08-13 08:49:37 · 108 阅读 · 0 评论 -
第一个只出现一次的字符位置(时间空间效率的平衡)
题目描述在一个字符串(0<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置, 如果没有则返回 -1(需要区分大小写).思路我开始这样想的,利用map统计,但是map会改变顺序,怎么办呢?再用个辅助数组记录位置,好麻烦啊。回头再想没那么麻烦,首先统计,然后从头开始遍历原字符串,找到第一个终止即可。因为全是字母,可以利用ASCII码的值,...原创 2018-08-13 08:54:24 · 121 阅读 · 0 评论 -
数组中只出现一次的数字( 知识迁移能力)
题目描述一个整型数组里除了两个数字之外,其他的数字都出现了偶数次。请写程序找出这两个只出现一次的数字。思路这个不可以利用数组下标,利用map还是会改变顺序,还需要遍历数组。利用set进行插入、查询、删除最后剩余的两个就是答案,但是set是排过序的,也有瑕疵。怎么办?可以用vector的插入、查询、删除、但是操作比set稍微麻烦一点。//错误,最后两个数已排好序了void Fin...原创 2018-08-13 09:25:25 · 140 阅读 · 0 评论 -
和为S的两个数字( 知识迁移能力)
题目描述输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。输出描述:对应每个测试案例,输出两个数,小的先输出。思路首先知道有序,肯定是两个数的差越大,乘积越小。从前往后找,第一个一定是最小的。遍历+二分,从前开始遍历,确定一个数,剩余一个数二分查找。vector<int> Find...原创 2018-08-13 09:46:09 · 120 阅读 · 0 评论 -
变态跳台阶(递归和循环)
题目描述一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。思路n=1,ans=1n=2,ans=2n=3, ans=4(n=3,可以由n=1和n=2直接跳上来,别忘了还有一个可以直接跳上来不经过任何台阶)n=4, ans=8n=5, ans=16int jumpFloorII(int number) ...原创 2018-08-08 16:36:59 · 451 阅读 · 0 评论 -
求1+2+3+...+n(发散思维能力)
题目描述求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。int ans=0;int fun(int n){ return n && (ans+=n,fun(n-1)); //&&执行一半,不符合就不执行了}int Sum_Solution(in...原创 2018-08-08 16:52:47 · 192 阅读 · 0 评论 -
连续子数组的最大和(时间效率)
题目描述HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学。今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决。但是,如果向量中包含负数,是否应该包含某个负数,并期望旁边的正数会弥补它呢?例如:{6,-3,-2,7,-15,1,2,2},连续子向量的最大和为8(从第0个开始,到第3个为止)。给一个数组,返回它的最大连续子序...原创 2018-08-13 08:09:57 · 794 阅读 · 0 评论 -
快速排序、归并排序、堆排序
1、快速排序,每次数轴归位,按照数轴位置二分。数轴归位的同时前面都是比它小的数,后面都是比它大的数。2、归并排序,就是存二分,回调的时候合并即可。需要利用辅助空间。3、堆排序,数组下标辅助,先建堆,每次替换堆顶与最后一个元素(由小到大排序就要建大根堆)#include<stdio.h>//C中vector和数组不一样,前者传参需要&,后者数组名就是地址void...原创 2018-08-07 10:39:58 · 340 阅读 · 0 评论 -
MFC常见错误和知识点
1、字符串转换问题(不存在从 "CString" 到 "const char *" 的适当转换函数)解决办法:属性-->配置属性-->常规-->字符集-->修改为(使用多字节字符集)2、error C4996: 'fopen': This function or variable may be unsafe.解决办法:属性-->配置属性-->预处理器-->预处理器定原创 2018-03-19 14:08:37 · 1506 阅读 · 0 评论 -
C++调用Python3.5
前一段时间总结了C++调用Python2.7,现在由于使用了TensorFlow3,Python从2.7版本变成了3.5,在调用时,本来以为Python2.7和Python3.5没有什么区别,其实还是有点差距的,坑了我好久!①VS环境配置②调用有参数总结:C++调用Python原创 2018-04-20 09:45:11 · 2319 阅读 · 0 评论 -
C++调用JAVA(Win10)
1、写一个Java类,生成.class文件①java源码package com;public class demo { public demo(){ //Constructor super(); } public static int add(int a,int b){ return a+b; } public bo...原创 2018-04-10 14:00:22 · 1774 阅读 · 0 评论 -
java---jar---exe
1、C++调用java①C++调用java,前面已经总结过了②注意路径配置,注意来回传参的数据类型③注意第三方jar包和dll文件的引用和位置2、C++调用jar①为了方便,对于不需要传参的java源码,可以使用封装jar包的方式进行调用②Export(直接导出.class文件即可,封装一些第三方资源,在单独调用jar的时候也不对,还不如直接封装.class,然后第三方资源...原创 2018-04-24 08:46:25 · 489 阅读 · 0 评论 -
MFC总结
1、线程的创建2、打开文件、显示图片3、选择保存路径4、复选框的使用5、下拉框的使用6、编辑框的使用7、滑块的使用8、视频流的截取9、原创 2018-05-07 16:30:21 · 468 阅读 · 0 评论 -
MFC控件字体修改和JAVA_GUI提示框
1、MFC控件字体修改①2、JAVA的图形化界面中,警告提示框。原创 2018-06-07 08:41:08 · 384 阅读 · 0 评论 -
数组中出现次数超过一半的数字( 时间效率)
题目描述数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。思路:第一步:排序第二部:统计,有点小技巧,第i个和第i+(n/2)个要是相等则直接结束。int MoreThanHalfNum_Solution(vector...原创 2018-08-09 08:14:00 · 105 阅读 · 0 评论 -
正则表达式匹配(字符串)
题目描述请实现一个函数用来匹配包括'.'和'*'的正则表达式。模式中的字符'.'表示任意一个字符,而'*'表示它前面的字符可以出现任意次(包含0次)。 在本题中,匹配是指字符串的所有字符匹配整个模式。例如,字符串"aaa"与模式"a.a"和"ab*ac*a"匹配,但是与"aa.a"和"ab*a"均不匹配思路首先这道题目要滤清思路,一个字符串去和模式串进行匹配。分二种情况①相等(需要...原创 2018-08-14 08:32:29 · 4691 阅读 · 0 评论 -
mfc slider control 用法(debug assertion failed错误)
1、单线程使用mfc中的slider控件①添加button按钮和slider control控件(前者ID;IDOK,后者ID:IDC_SLIDER1)②添加CSliderCtrl类的对象m_ctrlSlider(全局变量)CSliderCtrl m_ctrlSlider;③在DoDataExchange中添加变量和控件关联,注意是CxxxDlg(xxx=工程名字,我就是一原创 2018-03-14 13:29:22 · 720 阅读 · 0 评论