相关疑难解决方法(0)

在不使用第三个变量的情况下交换两个变量值

在采访中提出的一个非常棘手的问题.

交换两个变量的值,如a=10b=15.

通常要交换两个变量值,我们需要第三个变量,如:

temp=a;
a=b;
b=temp;
Run Code Online (Sandbox Code Playgroud)

现在的要求是,在不使用第三个变量的情况下交换两个变量的值.

c++

97
推荐指数
6
解决办法
10万
查看次数

对于三种情况的排列,最快的算法是什么?

有人可以帮我解决最短步骤评估三个条件的最快方法吗?我有三个条件,如果两个中的任何一个都是真的,那么整个表达式就变成了true另一个false.

我尝试了两种方法:

if ((condition1 && condition2) || 
    (condition1 && condition3) || 
    (condition2 && condition3))
Run Code Online (Sandbox Code Playgroud)

另一种方法是引入变量i

i = 0;
if (condition1) i++;
if (condition2) i++;
if (condition3) i++;
if (i >= 2)
    //do something
Run Code Online (Sandbox Code Playgroud)

我想要比上面两个更好的任何其他有效方法.

我在内存受限的环境中工作(Atmeta8具有8 KB的闪存)并且需要一个在C中工作的解决方案.

c optimization boolean atmega

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

标签 统计

atmega ×1

boolean ×1

c ×1

c++ ×1

optimization ×1