在接受采访时提出了一个问题:
在一级方程式挑战中,有n个队伍编号为1到n.每个团队都有一辆车和一个司机.汽车的规格如下:
这是我的球队号码.赛车排队参赛.第(i + 1)辆车的起跑线位于第i辆车后面200*i米处.
所有这些都是在同一时间开始并试图达到他们的最高速度.每2秒钟对位置进行一次重新评估(所以即使汽车已经越过终点线,你也会在2秒后知道).在此评估期间,每位司机检查他的车10米范围内是否有车,他的速度降低到:hf*(当时的速度).此外,如果车手注意到他是比赛中的最后一名,他会使用'nitro'.
以团队数量和轨道长度为输入,计算最终速度和相应的完成时间.
我不明白如何处理这类问题.对于每个实例,我应该检查每对驱动程序的所有C(n,2)组合并计算结果吗?但是我怎么能弄清楚我应该在什么样的情况下进行计算呢?
#include <stdio.h>
int a[100];
int main(){
printf("%d",a[5]);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
上面的代码总是打印'0'还是编译器特定的?我正在使用gcc编译器,我输出为'0'.
int main()
{
char arr[5][7][6];
char (*p)[5][7][6] = &arr;
printf("%d\n", (&arr + 1) - &arr);
printf("%d\n", (char *)(&arr + 1) - (char *)&arr);
printf("%d\n", (unsigned)(arr + 1) - (unsigned)arr);
printf("%d\n", (unsigned)(p + 1) - (unsigned)p);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
当我运行上面的代码时,我得到以下输出:
1
210
42
210
Run Code Online (Sandbox Code Playgroud)
为什么输出不是1在每种情况下?
给定一串数字,找到在给定字符串中不出现的最小非负整数作为子序列.
我尝试了一种方法,我逐步从0中找到数字.但我的方法是O(answer?*?length?of?the?string).O(length?of?string)这个问题有办法吗?
例子:
输入
- 9876543210
- 21698921085321984125
- 12345678901
产量
- 11
- 7
- 22
我想知道为什么在C/c ++中有sqrt()函数,因为我们可以实现相同的使用
pow(x,0.5);
Run Code Online (Sandbox Code Playgroud)
怎么会sqrt(x)有所不同pow(x,0.5).有sqrt功能的具体原因是什么?
我正在尝试制作一个听取wifi改变广播并做一些动作的Android应用程序.但问题是当进程被杀死时它无法正常工作.我发现这个问题说没有活动就无法工作
如何在没有Activity/Service的情况下创建BroadcastReceiver?
所以这不是另类.因此我创建了一个空的活动.我不想创建一个在后台运行的服务.如果应用程序被杀死,我怎样才能让我的应用程序继续听.我已经在清单中注册了广播.
<activity
android:name=".MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<receiver android:name="com.background.service.BroadCastReceiver">
<intent-filter>
<action android:name="android.net.wifi.WIFI_STATE_CHANGED"/>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>
Run Code Online (Sandbox Code Playgroud)
这是我的班级
public class BroadCastReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
//do some action
}
}
Run Code Online (Sandbox Code Playgroud) #include <iostream>
using namespace std;
int main ()
{
int **a;
int b[5] = {3,4,5,6,1};
*a=b;
cout << *((*a)+0) << endl;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
根据我的理解*((*a)+0)相当于(*a)[0].我错了吗?如何使上面的代码打印出数组的第一个元素?
为什么这段代码有效?
#include <iostream>
using namespace std;
int main ()
{
int *a;
int b[5] = {3,4,5,6,1};
a=b;
cout << *(a+0) << endl;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
当我随处更换a时*a,为什么会出错?
为什么要在我的电脑上cout<<main;打印1?我以为它会打印主要的地址.但是当我使用时,printf("%x",main);我会得到不同的输出.
编辑:
我尝试std::cout过其他功能.我找到1了每一个案子.
在使用STL的C++中,两个操作中的哪一个花费较少的CPU时间来排序大的不同数字:
是否有一种简单的方法可以将类中的一组变量设置为公共变量.例如,为了使一组变量成为静态变量,我可以使用类似下面的内容.
class A {
static {
int x;
int y;
}
}
Run Code Online (Sandbox Code Playgroud)
有没有办法做类似的事情使变量公开.像这样的东西.
public {
int x;
int y;
}
Run Code Online (Sandbox Code Playgroud)
我明白静态块不会做我认为会做的事情.我需要的是C++中这样的java版本
class A {
public:
int x;
int y;
}
Run Code Online (Sandbox Code Playgroud)