最新评论
Re:高斯建模 leftwing 2011-06-03 15:46
您好 我想问一下 通过bg.BackgroundMask.Bitmap;获得的背景是全黑的,有没有获得它的灰度背景的方法?
Re:实习生带教 ErinFlyingFish 2011-04-08 21:46
哇咔咔。要去实习了,希望能遇到LZ那样的mentor啊。
@81
就算用dotNet测试也统一访问类吧?都用ODBC也比这样强啊,一个用sqlclient,一个用oracleclient,还有个postgresql不知道你用了什么。连控制变量法都不用哪有可比性呢?
况且SQLClient是微软封装的,OracleClient也是微软封装的。不说了。
[quote]ouzi:我在想啊,如果哪个变态的家伙传个 int[] p=new int[INT_MAX+1];给你,那会怎么样咧?因为你们说到了“a、b同时为int的最大值”的情况(这里当然就不考虑什么堆的大小了),那样是不是还是有问题,死循环一个???[/quote]
这个我觉得是不是有点多虑了。
在C#中Array.Length是int型变量,int[] p = new int[int.MaxValue+1]我试了下,直接编译失败,溢出了。
[quote]zdd:口气挺大,代码风格太一般了,不明白函数为啥要取名为sort?您是在排序还是在查找?[/quote]
这个我接受,只是测试算法,代码又不多,变量随意命名了。
函数命名时,写成sort可能是一时笔误了。
[quote]Jeffrey Zhao:a / 2 + b / 2 + 1 和 (a + b) / 2 明显是不等价的啊[/quote]
是不等价,计算后的中值可能不一样,但后面加个if,保证中值不会跑到外面去。
[quote]卡索:
楼主改后的代码(x = a / 2 + b / 2 + 1;)依然是有问题的(虽然这里解决了int.MaxValue的问题),如果a和b相等且同为0的时候(也就是数组是长度为0的数组的时候),你这里加1后这个循环会执行一次的问题怎么处理?
你的p[0]能取出来吗?
也就是这个数组比如定义为(int[] arr = new int[0];)的时候这个怎么办?
当然我知道我说出这个问题的时候很多人都会来反对的,因为这个可能会没有什么意义...呵呵!
如果这样子认为的话那就当无意义好了...[/quote]
如果数组长度为0则a=0,b=-1了,直接return -1了。
Re:计算能力的浪费 Loveyuki 2010-04-27 10:14
虚拟化技术就是解决这个问题的
淡化硬件层
Re:专业程序员,真的只有10%首次能正确实现二分查找? Jeffrey Zhao 2010-04-27 09:35
a / 2 + b / 2 + 1 和 (a + b) / 2 明显是不等价的啊
曾经写过ip查询的二分查找算法。改了5,6次后才成功
口气挺大,代码风格太一般了,不明白函数为啥要取名为sort?您是在排序还是在查找?
[quote]亦续缘:
int[] arr = new int[] { 1, 23, 45, 9, 18, 29, 7 };
int index = sort(arr, 9);
请测试一下这组数据,返回的是-1[/quote]
你这个条件是有问题的,二分法查找元素 返回索引有先觉条件的,就是这个数据是有序数组,简单说就是在执行查找前这个数组是经过某一种有序排序后的,也就是要么是按顺寻排序要么是按倒序排序的..
你这种无序的是无法来处理的,要处理也可以,就是用它的copy数组去排序,拍完了再处理应该可行...
[quote]Jeffrey Zhao:
看似简单的问题其实陷阱很多,比如a + b如果越出32位整数的界了怎么办呢?我乱猜一下,其实9成写错的情况里,估计有9成是死在这个问题上。
这个10%的情况是应该是编程珠玑里说的吧?如果我没记错,它还写了二分查找提出后知道N年后才有了第一个没有bug的实现,原因就是在于这个越界问题。[/quote]
特意查找了下,二分法是1946年发表的,12后才发表了第一个无bug的二分法。
楼主改后的代码(x = a / 2 + b / 2 + 1;)依然是有问题的(虽然这里解决了int.MaxValue的问题),如果a和b相等且同为0的时候(也就是数组是长度为0的数组的时候),你这里加1后这个循环会执行一次的问题怎么处理?
你的p[0]能取出来吗?
也就是这个数组比如定义为(int[] arr = new int[0];)的时候这个怎么办?
当然我知道我说出这个问题的时候很多人都会来反对的,因为这个可能会没有什么意义...呵呵!
如果这样子认为的话那就当无意义好了...
[quote]啊不才:
微软是这么写的:
[code=csharp]
[ReliabilityContract(Consistency.WillNotCorruptState, Cer.Success)]
private static int GetMedian(int low, int hi) {
BCLDebug.Assert( hi - low >= 0, "Length overflow!");
return low + ((hi - low) >> 1);
}
[/code][/quote]
呵呵这个low + ((hi - low) >> 1)和low+((hi-low)/2)是一个意思的!只是这个使用位运算,在效率上应该能比后者要高.
我在想啊,如果哪个变态的家伙传个 int[] p=new int[INT_MAX+1];给你,那会怎么样咧?因为你们说到了“a、b同时为int的最大值”的情况(这里当然就不考虑什么堆的大小了),那样是不是还是有问题,死循环一个???
int[] arr = new int[] { 1, 23, 45, 9, 18, 29, 7 };
int index = sort(arr, 9);
请测试一下这组数据,返回的是-1
貌似你加了一个if判断了。这样从数学上来说,没有溢出的可能了。
微软是这么写的:
[code=csharp]
[ReliabilityContract(Consistency.WillNotCorruptState, Cer.Success)]
private static int GetMedian(int low, int hi) {
BCLDebug.Assert( hi - low >= 0, "Length overflow!");
return low + ((hi - low) >> 1);
}
[/code]
求中点这个,其实是有问题的,要考虑a=b的情况。一个极端情况是数组只有一个下标零。a为 0,b为0。你加了个一,求中点的数学美给破坏了。还有有些语言允许负数的下标,你这个算法明显会溢出,看来,书上说的不假。
Re:专业程序员,真的只有10%首次能正确实现二分查找? Microshaoft 2010-04-26 23:13
a + b 溢出的问题
折半中值(平均数)算法:
b + ((a - b) /2)
......
本来贴了一个源代码..然后撤了.
你知道的...
x = (a + b) / 2;
呵呵 这个好好玩
前几天也看了这个,我也在想,如果说a和b同时取最大整数,或者说都取整数最大值得一半加一,此时a+b就会溢出,但是如果此时换成a/2+b/2问题看似是得到解决;但在网站上有人有提出了一中说法就是a/2+b/2相当于Math.Floor(a / 2) + Math.Floor(b / 2),如果这个成立的话,那么这个条件也是不对滴.而后再代码之美中提出了一种新的写法,x=a+((b-a)/2).
细细想想,这个办法确实能有效地解决了这个问题....
各种原有分析即可...
Re:实习生带教 重庆加戈 2010-04-26 22:12
相对而言,我比楼主更会带新人...
新人跟着我的第一天,我就会跟他讲,革命靠自觉,真心打鬼子的人不需要动员,国民党抓壮丁几百万也不过共产党的几十万.
你想我对你严格一点,还是宽松一点,你想慈祥型的方式,还是恶人型?然后,我就会根据他的爱好,有计划的折磨他培养他...我承诺的事情,一定做到,他承诺的事情没有做到,我会给他机会,直到失去耐心...
@Jeffrey Zhao
惭愧,真是没考虑到这个问题,a+b真是可能溢出,一般用用是不会出问题的,但作为通用算法供人调用,这真是个致命的bug!
@Sean Zhang
测试了数组1,2,查找2没问题。
Re:专业程序员,真的只有10%首次能正确实现二分查找? Megacycled 2010-04-26 21:41
重要的不是谁先实现了无bug的算法,而是最先提出可能算法的人。
Re:专业程序员,真的只有10%首次能正确实现二分查找? Sean Zhang 2010-04-26 21:25
数组为 1 2,查找2,你试试你算法
Re:专业程序员,真的只有10%首次能正确实现二分查找? Jeffrey Zhao 2010-04-26 21:21
看似简单的问题其实陷阱很多,比如a + b如果越出32位整数的界了怎么办呢?我乱猜一下,其实9成写错的情况里,估计有9成是死在这个问题上。
这个10%的情况是应该是编程珠玑里说的吧?如果我没记错,它还写了二分查找提出后知道N年后才有了第一个没有bug的实现,原因就是在于这个越界问题。
文章写完了,发觉我没有处理数组p为null的情况,不知这算不算个bug?
Re:分享一个完整的SAP RFC调用接口封装 elegant 2010-02-05 14:55
没有vb.net能否直接帮忙封装下
Re:分享一个完整的SAP RFC调用接口封装 elegant 2010-02-05 14:54
怎样封装,没用过。能否详解,谢谢
@无心之雨
sap客户端装了吗?装了全不全(sap的rfc相应com接口)?登录成功了吗?
只能排查,我工作中在SAP R3调用是成功的。
也曾经使用C#测试过.VB.NET可能做起来更简单些吧,不过C#可以达到一样的效果.
@81
我在設置RFC調用函數名時,出現COMException was unhandled異常,信息提示:"SAP Remote Function Call",請教原因?
Re:论文可咋写啊 81 2010-01-28 12:55
感谢上帝,论文压线,一次通过!
@阿水
的确,没做过sap时不知如何下手,仔细理顺后也就这200行代码搞定一切,我封封装后对内表的操作方便很多,可以直接映射成。net的DataTable
@aha
不懂你。
@keai1365
如果是Web程序,只需在web server上安装sap客户端。
asp写的类最大的问题就是引用问题。因为没有智能提示,所以在扩展性上有很大限制的。
Re:分享一个完整的SAP RFC调用接口封装 keai1365 2010-01-28 10:07
如果是部署在一台服务器上,那服务器上也要安装sap客户端,对吗?我现在都是用vs2003编译一个dll,再调用,但是每新增一个都要相应的修改或增加一个dll,很不方便,一直想找到一个比较通用的方式。
使用方法:
1. new一个
2. 登录sap
3. 设置RFC名
4. 设置参数,包括传入内表
5. 执行调用
5. 取传出参数,或取传出内表等
6. 关闭sap连接
Re:论文可咋写啊 fv 2009-12-23 11:37
同考同考
Re:唯一索引是否可以有多行NULL值? OK_008 2009-12-17 23:39
UNIQUE 约束允许 NULL 值,这一点与 PRIMARY KEY 约束不同。不过,当与参与 UNIQUE 约束的任何值一起使用时,每列只允许一个空值。
Re:唯一索引是否可以有多行NULL值? John Liu 2009-12-17 10:21
兄弟,你的印象是错的。
Re:唯一索引是否可以有多行NULL值? zvmax 2009-12-17 10:16
第一印象常常不可靠
Re:论文可咋写啊 81 2009-11-13 08:46
@Phinecos(洞庭散人)
我在企业上班,谈不上有什么用,也许单位想评更高级别的系统集成资质,需要单位有更多的项目经理证书,要求我们报考。其实仔细学习下还是能学点知识,也算满足一下自己。