自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

知之为知之,不知为不知,是知也

  • 博客(7)
  • 资源 (1)
  • 收藏
  • 关注

原创 全排列

来源:http://blog.csdn.net/morewindows/article/details/7370155 /* 1.全排列就是从第一个数字起每个数分别与它后面的数字交换。 2.去重的全排列就是从第一个数字起每个数分别与它后面非重复出现的数字交换。 3.全排列的非递归就是由后向前找替换数和替换点,然后由后向前找第一个比替换数大的数与替换数交换, 最后颠倒替换点后

2012-03-21 22:53:47 628

原创 旋转数组的二分查找

来源: http://www.jobcoding.com/array/one-sorted-array/rotate_array/ 1. 问题描述 已知有序数组a[N], 从中间某个位置k(k未知,k=-1表示整个数组有序)分开,然后将前后两部分互换, 得到新的数组,在该新数组的查找元素x。如:a[]={1,2,5,7,9,10,15},从k=4分开,得到新数 组a={9,10,1

2012-03-12 22:14:59 6393 1

原创 找出和为某个常数的数对

1. 问题描述 已知大小分别为m,n的两个无序数组A,B和一个数常数c, 求满足A[i] + B[j] = c的所有A[i]和B[j]。 【方案一】 这是最简单的方法,枚举A和B中所有元素对,看其和是否为c,如果是,则输出。 【方案二】 首先,对两个数组中较大数组(不妨设为A)排序;然后,对于B中每个元素B[i], 在A中二分查找c-B[i],如果找到,直接输出。

2012-03-11 15:09:01 625

原创 找出距离最近的三个点

本文章来源于 http://www.jobcoding.com/ 问题描述: 给定三个数组A,B,C,从这三个数组中分别取一个元素a,b,c,使得|a-b|+|b-c|+|c-a| 最小。 【方案一】 该题最直接的方法是枚举,即枚举三个数组组成的所有三元组,然后求出|a-b|+|b-c|+|c-a| 最小值。 【方案二】 一般而言,见到绝对值号,首先想到的应是去

2012-03-11 14:42:40 3683

原创 模板的使用 二

#include #include #include #include #include "Stack.h" using namespace std; template T const & max(T const & a, T const & b) {//这是个有隐患的函数模板 return a > b ? a : b; } template void ref(T cons

2012-03-09 22:13:28 537

原创 函数模板的简单使用

#include using namespace std; inline int const & max(int const & a, int const & b) { cout << "inline int const & max\n"; return a > b ? a : b; } template inline T const & max(T const & a,

2012-03-08 22:48:29 533

原创 数组与二分查找

#include #include using namespace std; int binary_serach(int [], int , int ); int lower_bound(int [], int , int ); int upper_bound(int [], int , int ); int find_miss_NO(int [], int); int main()

2012-03-08 22:34:48 2166

空空如也

空空如也

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

TA关注的人

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