相关疑难解决方法(0)

解释这个片段,它在不使用if-else或任何其他比较运算符的情况下找到最多两个整数?

找到最多两个数字.您不应该使用if-else或任何其他比较运算符.我在网上公告板上发现了这个问题,所以我想我应该在StackOverflow中询问

示例输入:5,10输出:10

我找到了这个解决方案,有人可以帮我理解这些代码行

int getMax(int a, int b) {  
    int c = a - b;  
    int k = (c >> 31) & 0x1;  
    int max = a - k * c;  
    return max;  
}
Run Code Online (Sandbox Code Playgroud)

c algorithm math bit-manipulation max

75
推荐指数
6
解决办法
7万
查看次数

使用find-min/find-max进行堆栈比O(n)更有效?

我感兴趣的是创建一个类似于堆栈的Java数据结构,它尽可能高效地支持以下操作:

  • 推送,在堆栈顶部添加一个新元素,
  • Pop,删除堆栈的顶部元素,
  • Find-Max,返回(但不删除)堆栈的最大元素,和
  • Find-Min,返回(但不删除)堆栈的最小元素,和

这个数据结构最快的实现是什么?我怎么能用Java编写它?

java algorithm big-o stack data-structures

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

在O(1)中插入,删除,最大

有人能告诉我哪个数据结构支持O(1)中的插入/删除/最大操作?

algorithm data-structures

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

标签 统计

algorithm ×3

data-structures ×2

big-o ×1

bit-manipulation ×1

c ×1

java ×1

math ×1

max ×1

stack ×1