自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 资源 (1)
  • 收藏
  • 关注

原创 面试题38:数字在排序数组中出现的次数

方法: 1. 查找这个数字的第一个位置,利用递归 2. 查找这个数字最后的位置,利用递归 3. 结束 #include using namespace std; int get_first_k_index(int a[], int len, int k, int begin, int end){ if(begin > end){ return -1; }

2017-04-11 19:48:48 193

原创 面试题39:获得二叉树深度和判断是否是平衡二叉树

1, 二叉树深度,一个简单的递归 2, 是否是平衡二叉树,一个略复杂的递归 见代码: #include using namespace std; struct TreeNode{ TreeNode* pleft; TreeNode* pright; int value; TreeNode(int v){ value = v;

2017-04-11 18:52:36 209

原创 面试题40:查找数组中只出现一次的数字(2个)

方法: 1, 如果数组中只有一个数字出现一次,则所有数字做^运算,最终结果就是该数字 2, 如果数组中有两个数字出现一次,假设为a,b,则所有数字做^运算,最终结果是a b 相^的结果, 此结果中的某一位肯定位1,且a中此位和b中此位必不相等, 且其他数字的此位必定存在双份,所以根据此位把原数组拆分成两个数组,则 a b 肯定分别在这两个数组中,按照1 中的方法求出即可 代码如下: #

2017-04-10 22:22:11 342

原创 面试题41:有序数组,查找和为s的两个元素and 和为s的连续数字

第一个问题:有序数组查找和为s的两个元素 方法:需要两个指针分别指向开头和结尾, 当*开头+*结尾 > s时,需要--结尾 当*开头+*结尾 直到两个指针碰头为止,代码如下 #include using namespace std; bool find_pair_for_s(int list[], int n, int s, int* index1, int* index2){

2017-04-10 20:08:47 526

原创 面试题42:旋转字符串

#include #include using namespace std; void reverse(char *begin, char *end){ if(begin == NULL || end == NULL){ return; } while(begin < end){ char tmp = *begin; *b

2017-04-10 19:43:33 205

原创 面试题43:骰子的点数

骰子个数为1:则点数和与次数的关系是: 0:0     1:1     2:1     3:1     4:1     5:1     6:1 骰子个数为2:则点数和与次数的关系是:0:0      1:0     2:1     3:2    4:3     5:4      6:5   7:6   8:5 ... ... 每增加一个骰子,则第i个元素的值,是其头6个的和 代码如下:

2017-04-10 12:55:54 642

原创 面试题44:扑克牌的顺序

这样好像更好懂一些,有错误请不吝指教#include #include using namespace std; bool is_ordered(int list[], int n){ if(list == NULL || n < 0){ return false; } sort(list, list+n); for(int i = 0; i<

2017-04-09 17:33:01 316

原创 面试题45:圆圈中最后剩下的数字

1, 最简单的方法,遍历并删除,代码如下#include #include using namespace std; int servive_cricle(int n, int m){ if(n < 1 || m < 1){ return -1; } //create circle list numbers; for(int i = 0;

2017-04-09 17:01:49 259

原创 各种排序

#include using namespace std; void swap(int *a, int *b){     int tmp = *a;     *a = *b;     *b = tmp; } // insert sort o(n^2) void insert_sort(int list[], int n){     for(int

2017-04-08 16:33:21 152

原创 有序数组查找第一个比k大的数

基础面试题

2017-04-07 19:14:07 3206

简单的绘图板

实现的功能有:直线曲线,粗细,颜色,填充色,撤销,保存等,主要使用mfc

2013-10-06

空空如也

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

TA关注的人

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