如果不运行此代码,请确定Foo
将调用哪个方法:
class A
{
public void Foo( int n )
{
Console.WriteLine( "A::Foo" );
}
}
class B : A
{
/* note that A::Foo and B::Foo are not related at all */
public void Foo( double n )
{
Console.WriteLine( "B::Foo" );
}
}
static void Main( string[] args )
{
B b = new B();
/* which Foo is chosen? */
b.Foo( 5 );
}
Run Code Online (Sandbox Code Playgroud)
哪种方法?为什么?运行代码不会作弊.
我在网上发现了这个难题; 我喜欢它,我想我会把它用作面试问题......意见?
编辑:我不会判断候选人是否错了,我会用它作为一种方式来开展关于C#和CLR本身的更全面的讨论,这样我就可以很好地理解候选人的能力.
资料来源: http ://netpl.blogspot.com/2008/06/c-puzzle-no8-beginner.html
8拼图是一个有9个位置的方板,由8个编号的瓷砖和一个间隙填充.在任何时候,与间隙相邻的瓦片可以移动到间隙中,从而产生新的间隙位置.换句话说,间隙可以与相邻(水平和垂直)瓦片交换.游戏中的目标是从任意配置的瓷砖开始,然后移动它们以便按升序排列编号的瓷砖,或者在电路板的周边运行,或者从左到右排序,左上角为1 - 手的位置.
我想知道什么方法可以有效地解决这个问题?
我在C aptitude论文中发现了这个难题.
void change()
{
//write something in this function so that output of printf in main function
//should always give 5.you can't change the main function
}
int main()
{
int i = 5;
change();
i = 10;
printf("%d", i);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
任何解决方案.?
在SQL Server中是否有一种优雅的方法可以在所有行中查找单个varchar(50)列中的所有不同字符?
如果可以在没有游标的情况下完成奖励积分:)
例如,假设我的数据包含3行:
productname
-----------
product1
widget2
nicknack3
Run Code Online (Sandbox Code Playgroud)
不同的字符库存将是"productwigenka123"
我有一个谜题,我想用Python解决它.
难题:
一个商人的重量为40公斤,他在他的店里使用.有一次,它从他的手上掉下来,分成4块.但令人惊讶的是,现在他可以通过这4件的组合称重1公斤到40公斤之间的任何重量.
所以问题是,这4件的重量是多少?
现在我想用Python解决这个问题.
我从拼图中得到的唯一约束是4个总和是40.我可以过滤掉总和为40的所有4个值的集合.
import itertools as it
weight = 40
full = range(1,41)
comb = [x for x in it.combinations(full,4) if sum(x)==40]
Run Code Online (Sandbox Code Playgroud)
length of comb = 297
现在我需要检查每组值comb
并尝试所有操作组合.
例如,如果(a,b,c,d)
是第一组值comb
,我需要检查a,b,c,d,a+b,a-b, .................a+b+c-d,a-b+c+d........
,依此类推.
我尝试了很多,但我陷入了这个阶段,即如何检查所有这些计算组合到每组4个值.
题 :
1)我想我需要列出所有可能的组合[a,b,c,d] and [+,-]
.
2)有没有人有更好的想法,告诉我如何从这里前进?
另外,我想完全没有任何外部库的帮助,只需要使用python的标准库.
编辑:对不起,迟到的信息.答案是(1,3,9,27),这是我几年前发现的.我检查并验证了答案.
编辑:目前,fraxel
答案是完美的time = 0.16 ms
.总是欢迎更好,更快的方法.
问候
方舟
我有一个课程,我简化了这个:
final class Thing {
private final int value;
public Thing(int value) {
this.value = value;
}
public int getValue() {
return value;
}
@Override public String toString() {
return Integer.toString(value);
}
}
Run Code Online (Sandbox Code Playgroud)
我想对这个东西的数组进行排序.所以我创建了一个简单的copmarator:
private static final Comparator<Thing> reverse = new Comparator<Thing>() {
public int compare(Thing a, Thing b) {
return a.getValue() - b.getValue();
}
};
Run Code Online (Sandbox Code Playgroud)
然后我使用两个参数形式Arrays.sort
.
这适用于我的测试用例,但有时它会以一个奇怪但可重复的顺序结束.怎么会这样?
在为基于图块的游戏编程随机级别生成器时,我遇到了一个有趣的问题.我为它实现了一个强力求解器,但它指数速度慢,绝对不适合我的用例.我不一定在寻找一个完美的解决方案,我会对一个表现良好的"足够好"的解决方案感到满意.
问题陈述:
假设您有以下可用的全部或部分可用(这是映射到右,上,左和下方向的所有可能的4位模式的组合):
alt text http://img189.imageshack.us/img189/3713/basetileset.png
您将获得一个网格,其中一些单元格被标记(true)而另一些单元格未被标记(false).例如,这可以通过perlin噪声算法生成.目标是用瓷砖填充这个空间,以便有尽可能多的复杂瓷砖.理想情况下,应连接所有瓷砖.某些输入值可能没有解决方案(可用的tile + pattern).如果左上角,未连接的图块可用(即,所有图案单元格可以用该图块填充),则始终存在至少一个解决方案.
例:
图像从左到右:图块可用性(可以使用绿色图块,红色图案不可用),图案填充和解决方案
alt text http://img806.imageshack.us/img806/2391/sampletileset.png + alt text http://img841.imageshack.us/img841/7/samplepattern.png = alt text http://img690.imageshack.我们/ img690/2585/samplesolution.png
我尝试了什么:
我的蛮力实施尝试了所有可能的区域,并跟踪找到的解决方案.最后,它选择最大化从每个图块传出的连接总数的解决方案.对于图案中的图块数量,所花费的时间是指数的.12个图块的图案需要几秒钟才能解决.
笔记:
正如我所说,表现比完美更重要.但是,必须正确连接最终解决方案(没有指向不指向原始图块的图块的图块).为了了解范围,我想在大约2秒内处理100个图块的模式.
我的一个朋友给我发了这个问题.我还没有真正想出任何算法来解决这个问题.
你有一个号码.说123456789
和两个运营商* and +
.现在没有改变提供的序列号.并根据需要多次使用这些运算符,评估给定值:
例如:给定值2097
解决方案:1+2+345*6+7+8+9
关于如何解决这些问题的任何想法?
假设我有3个char
变量a
,b
和c
.
每一个都可以'0'
,这是一个特例,意味着它匹配每个字符.
所以,如果是'0'
,我只需要检查是否b == c
.
我想检查是否a == b == c
,但发现C#中的实现变得混乱和冗长.
您可以提供任何创意或漂亮的解决方案吗?
更新
对于绩效驱动,采取Erik A. Brandstadmoen的方法.为简单起见,使用M4N的apprach,我也做了一些修改:!(query.Any() && query.Distinct().Skip(1).Any())
#include<stdio.h>
void f(int a)
{
printf("%d", a);
}
#define f(a) {}
int main()
{
/* call f : function */
}
Run Code Online (Sandbox Code Playgroud)
怎么叫f
(功能)?写作f(3)
不起作用,因为它被替换为{}