有没有办法写log(base 2)函数?
C语言有2个内置函数 - >>
1. log基础e.
2. log10基数10;
但我需要基数2的日志功能.如何计算这个.
我在很多地方发现了这个着名的dp问题,但我无法弄清楚如何解决.
您将获得一组n种类型的矩形3-D盒子,其中第i个盒子具有高度h(i),宽度w(i)和深度d(i)(所有实数).你想要创建一个尽可能高的盒子堆叠,但如果下盒子的2-D底座的尺寸都严格大于2的盒子,你只能在另一个盒子的顶部堆叠一个盒子.高架子的D基座.当然,您可以旋转一个框,以便任何一侧作为其基础.也允许使用相同类型的盒子的多个实例.
这个问题对我来说似乎太复杂了.因为它是3D,我得到三个高度,宽度和深度序列.但是因为有可能交换3维,问题对我来说变得更加复杂.所以请有人解释在没有交换时解决问题的步骤,然后在交换时如何解决问题.我对这个问题感到厌倦.所以,请有人解释解决方案的简单方法.
我将开发一个二维球类游戏,其中两个球(圆圈)碰撞.现在我遇到了确定碰撞点的问题(事实上,确定它们是否在x轴/ y轴上碰撞).我知道当2个球的y坐标之间的差异大于x坐标差异时,它们会在y轴上发生碰撞,否则它们会在x轴上发生碰撞.我的想法是否正确?我在游戏中实现了这个功能.通常它运作良好,但有时,它失败了.谁能告诉我我的想法是否正确?如果没有,那么为什么,还有更好的方法吗?
通过x轴上的碰撞,我的意思是圆的第1,第4,第5或第8个八分圆,y轴表示圆的第2,第3,第6或第7个八分圆.
提前致谢!
给定一个序列,如S = {1,8,2,1,4,1,2,9,1,8,4},我需要找到包含S的所有元素的最小长度子序列(没有重复,顺序无所谓).如何以有效的方式找到这个子序列?
注意: S中有5个不同的元素:{1,2,4,8,9}.最小长度子序列必须包含所有这5个元素.
我有4个阵列A,B,C,D大小n.n最多为4000.每个数组的元素是30位(正/负)数字.我想知道方法的数量,A[i]+B[j]+C[k]+D[l] = 0可以在哪里形成0 <= i,j,k,l < n.
我推导出的最好的算法是O(n^2 lg n),有更快的算法吗?
如果在3个不同的队列中调用dispatch_sync之间有什么区别吗?
1.
dispatch_sync(dispatch_get_main_queue(),^(void){
NSLog(@"this execute in main thread") // via [NSThread isMainThread]
});
Run Code Online (Sandbox Code Playgroud)
2.
dispatch_sync(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0), ^(void){
NSLog(@"this also execute in main thread") // via [NSThread isMainThread]
}
Run Code Online (Sandbox Code Playgroud)
3.
dispatch_queue_t queue;
queue = dispatch_queue_create("com.example.MyQueue", NULL);
dispatch_sync(queue, ^(void){
NSLog(@"this also execute in main thread") // via [NSThread isMainThread]
}
Run Code Online (Sandbox Code Playgroud)
每当我调用dispatch_sync时,在主线程中执行块,而不考虑在哪个队列中调度它.那么为什么这个函数将队列作为参数,因为它不使用它.有人可以澄清一下吗?
我有一个数组A [],其中4个元素A = {8 1 2 4}.如何以最小的成本对其进行排序.标准定义如下 -
一个.可以交换任何2个元素.
湾 任何交换的成本是元素值的总和,如果i交换8和4,则成本为12,结果数组看起来像A = {4 1 2 8},仍然未分类,因此需要更多交换.
C.需要找到一种以最低成本对数组进行排序的方法.
根据我的观察,贪婪将不起作用,就像在每一步中将任何元素以最小成本放置在数组中的排序位置.因此需要DP解决方案.任何人都可以帮忙吗?
例如,假设我有一个10位数的多集S = { 1, 1, 2, 2, 2, 3, 3, 3, 8, 9 }.有没有除暴力之外的任何方法来找到元素的不同排列的数量,S这样当排列被视为十位整数时,它可被特定数字整除n?n将在范围1到10000.
例如:
if S = { 1, 2, 3, 4, 6, 1, 2, 3, 4, 6 }和n = 10,结果是0(因为没有那10个数字的排列将给出一个可被10整除的数字)
如果S = { 1, 1, 3, 3, 5, 5, 7, 7, 9, 2}和n = 2,结果是9! / 2^4(因为我们必须2在最后,有9!方法来置换其他元素,但有四对相同的元素)
我有三个按钮,名为(标题)你好,没有,天堂和一个标签(IBOutlet UIlabel实验室).我想显示三个diff消息,三个diff按钮单击.但是以下代码未能实现此目的.谁能提出任何想法?
-(IBAction)buttonclick:(id)sender
{
NSString *title=[sender titleForState:UIControlStateNormal];
if([title isEqualToString:@"hello"])
{
NSString *str=[[NSString alloc] initWithFormat:@"abc"];
}
else if([title isEqualToString:@"nothing"]) {
NSString *str=[[NSString alloc] initWithFormat:@"def"];
}
else if([title isEqualToString:@"heaven"])
{
NSString *str=[[NSString alloc] initWithFormat:@"ijk"];
}
lab.text=str;
[str release];
}
Run Code Online (Sandbox Code Playgroud)
输出:
warning:unused variable str;
Run Code Online (Sandbox Code Playgroud)