小编Ale*_*lex的帖子

如何实现Race模拟问题的解决方案

在接受采访时提出了一个问题:

在一级方程式挑战中,有n个队伍编号为1到n.每个团队都有一辆车和一个司机.汽车的规格如下:

  • 最高速度:每小时(150 + 10*i)km
  • 加速度:(2*i)米/秒方形.
  • 处理系数(hf)= 0.8
  • Nitro:将速度提高到双倍或最高速度,以较小者为准.只能使用一次.

这是我的球队号码.赛车排队参赛.第(i + 1)辆车的起跑线位于第i辆车后面200*i米处.

所有这些都是在同一时间开始并试图达到他们的最高速度.每2秒钟对位置进行一次重新评估(所以即使汽车已经越过终点线,你也会在2秒后知道).在此评估期间,每位司机检查他的车10米范围内是否有车,他的速度降低到:hf*(当时的速度).此外,如果车手注意到他是比赛中的最后一名,他会使用'nitro'.

以团队数量和轨道长度为输入,计算最终速度和相应的完成时间.

我不明白如何处理这类问题.对于每个实例,我应该检查每对驱动程序的所有C(n,2)组合并计算结果吗?但是我怎么能弄清楚我应该在什么样的情况下进行计算呢?

algorithm design-patterns data-structures

14
推荐指数
1
解决办法
742
查看次数

全局变量是否始终在C中初始化为零?

#include <stdio.h>
int a[100];
int main(){
    printf("%d",a[5]);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

上面的代码总是打印'0'还是编译器特定的?我正在使用gcc编译器,我输出为'0'.

c global-variables

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

将数组的地址转换为其他数据类型

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在每种情况下?

c arrays pointers

11
推荐指数
3
解决办法
251
查看次数

找到不作为字符串子序列出现的最小数字

来自SPSEJ上的STRSEQ:

给定一串数字,找到在给定字符串中不出现的最小非负整数作为子序列.

我尝试了一种方法,我逐步从0中找到数字.但我的方法是O(answer?*?length?of?the?string).O(length?of?string)这个问题有办法吗?

例子:

输入

  • 9876543210
  • 21698921085321984125
  • 12345678901

产量

  • 11
  • 7
  • 22

algorithm

11
推荐指数
1
解决办法
707
查看次数

sqrt(x)和pow(x,0.5)之间的差异

我想知道为什么在C/c ++中有sqrt()函数,因为我们可以实现相同的使用

pow(x,0.5);
Run Code Online (Sandbox Code Playgroud)

怎么会sqrt(x)有所不同pow(x,0.5).有sqrt功能的具体原因是什么?

c c++ sqrt

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

如何让应用程序的广播接收器继续监听,而无需在后台运行服务

我正在尝试制作一个听取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)

android android-intent android-broadcast

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

为什么我的代码会产生分段错误?

#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,为什么会出错?

c++ pointers

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

为什么cout << main; 打印1?

为什么要在我的电脑上cout<<main;打印1?我以为它会打印主要的地址.但是当我使用时,printf("%x",main);我会得到不同的输出.

编辑:

我尝试std::cout过其他功能.我找到1了每一个案子.

c++

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

哪种更好的方法来排序不同的数字?

在使用STL的C++中,两个操作中的哪一个花费较少的CPU时间来排序大的不同数字:

  • 将元素推入集合中
  • 将元素存储在向量中并调用sort()函数?

c++ sorting stl

0
推荐指数
1
解决办法
97
查看次数

在java中将一组变量公开

是否有一种简单的方法可以将类中的一组变量设置为公共变量.例如,为了使一组变量成为静态变量,我可以使用类似下面的内容.

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)

java

0
推荐指数
1
解决办法
835
查看次数