小编rus*_*ell的帖子

如何在c/c ++中编写日志库(2)

有没有办法写log(base 2)函数?

C语言有2个内置函数 - >>

1. log基础e.

2. log10基数10;

但我需要基数2的日志功能.如何计算这个.

c c++

90
推荐指数
8
解决办法
20万
查看次数

优先队列清除方法

如何从优先级队列中删除所有元素?这意味着如何销毁优先级队列?谢谢您的回答.有没有类似于清除或擦除的方法?

c++ stl

36
推荐指数
2
解决办法
3万
查看次数

盒子堆叠问题

我在很多地方发现了这个着名的dp问题,但我无法弄清楚如何解决.

您将获得一组n种类型的矩形3-D盒子,其中第i个盒子具有高度h(i),宽度w(i)和深度d(i)(所有实数).你想要创建一个尽可能高的盒子堆叠,但如果下盒子的2-D底座的尺寸都严格大于2的盒子,你只能在另一个盒子的顶部堆叠一个盒子.高架子的D基座.当然,您可以旋转一个框,以便任何一侧作为其基础.也允许使用相同类型的盒子的多个实例.

这个问题对我来说似乎太复杂了.因为它是3D,我得到三个高度,宽度和深度序列.但是因为有可能交换3维,问题对我来说变得更加复杂.所以请有人解释在没有交换时解决问题的步骤,然后在交换时如何解决问题.我对这个问题感到厌倦.所以,请有人解释解决方案的简单方法.

algorithm dynamic-programming

30
推荐指数
2
解决办法
2万
查看次数

圆圈碰撞

我将开发一个二维球类游戏,其中两个球(圆圈)碰撞.现在我遇到了确定碰撞点的问题(事实上,确定它们是否在x轴/ y轴上碰撞).我知道当2个球的y坐标之间的差异大于x坐标差异时,它们会在y轴上发生碰撞,否则它们会在x轴上发生碰撞.我的想法是否正确?我在游戏中实现了这个功能.通常它运作良好,但有时,它失败了.谁能告诉我我的想法是否正确?如果没有,那么为什么,还有更好的方法吗?

通过x轴上的碰撞,我的意思是圆的第1,第4,第5或第8个八分圆,y轴表示圆的第2,第3,第6或第7个八分圆.

提前致谢!

algorithm collision-detection

28
推荐指数
3
解决办法
4万
查看次数

如何查找包含序列的所有元素的最小长度子序列

给定一个序列,如S = {1,8,2,1,4,1,2,9,1,8,4},我需要找到包含S的所有元素的最小长度子序列(没有重复,顺序无所谓).如何以有效的方式找到这个子序列?

注意: S中有5个不同的元素:{1,2,4,8,9}.最小长度子序列必须包含所有这5个元素.

algorithm

16
推荐指数
1
解决办法
7417
查看次数

从4组求和为0的算法

我有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),有更快的算法吗?

algorithm

8
推荐指数
1
解决办法
511
查看次数

dispatch_sync()总是在主线程中执行块

如果在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时,在主线程中执行块,而不考虑在哪个队列中调度它.那么为什么这个函数将队列作为参数,因为它不使用它.有人可以澄清一下吗?

cocoa cocoa-touch objective-c grand-central-dispatch

7
推荐指数
2
解决办法
2764
查看次数

以最低成本对阵列进行排序

我有一个数组A [],其中4个元素A = {8 1 2 4}.如何以最小的成本对其进行排序.标准定义如下 -

一个.可以交换任何2个元素.

湾 任何交换的成本是元素值的总和,如果i交换8和4,则成本为12,结果数组看起来像A = {4 1 2 8},仍然未分类,因此需要更多交换.

C.需要找到一种以最低成本对数组进行排序的方法.

根据我的观察,贪婪将不起作用,就像在每一步中将任何元素以最小成本放置在数组中的排序位置.因此需要DP解决方案.任何人都可以帮忙吗?

sorting algorithm

6
推荐指数
1
解决办法
2437
查看次数

特定字符串的排列数可以被数字整除

例如,假设我有一个10位数的多集S = { 1, 1, 2, 2, 2, 3, 3, 3, 8, 9 }.有没有除暴力之外的任何方法来找到元素的不同排列的数量,S这样当排列被视为十位整数时,它可被特定数字整除nn将在范围110000.

例如:

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!方法来置换其他元素,但有四对相同的元素)

algorithm math

6
推荐指数
1
解决办法
3315
查看次数

目标c NSString比较

我有三个按钮,名为(标题)你好,没有,天堂和一个标签(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)

objective-c

2
推荐指数
1
解决办法
2401
查看次数