一。用过excel的都知道excel的列编号是这样的:
a b c .... z aa ab ac .... az ba bb bc .... yz za zb zc .... zz aaa aab aac ....
分别代表以下编号:
1 2 3 .... 26 27 28 29 .... 52 53 54 55 .... 676 677 678 679 .... 702 703 704 705 ....

请写个函数,完成从一个正整数到这种字符串之间的转换。

程序如下:

从今天开始收集一些经典的算法。using System; 
从今天开始收集一些经典的算法。 
从今天开始收集一些经典的算法。
namespace ConsoleApplication1 

这其实不是一个简单的10进制转26进制的问题,因为基数不是从0到25,是从1到26。
因此如果遇到余数为0,低位就要向高位借1变26(而高位要减1)。

 

折半(对半、二分)查找

public static int Search(int[] src, int subject)
{
int low = 0, high = src.Length - 1;

while (low <= high)
{
int mid = (low + high) / 2;
if (src[mid] < subject)
{
low = mid + 1;
}
else if (src[mid] > subject)
{
high = mid - 1;
}
else
{
return mid;
}
}
return -1;
} 


-------------------------------------------------------------------------------------------------------------
摘自http://www.cnblogs.com/Laser_Lu/archive/2005/04/13/136841.html

相关文章:

  • 2021-04-01
  • 2021-06-07
  • 2021-12-28
  • 2021-12-24
  • 2021-10-07
  • 2021-07-17
  • 2022-02-14
  • 2022-12-23
猜你喜欢
  • 2021-12-22
  • 2021-07-12
  • 2021-08-09
  • 2021-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案