小编Bob*_*ohn的帖子

我正试图遍历20x20网格并计算产品,但我一直得到不正确的结果.你能帮忙发现我的错误吗?

这是Project Euler的第11个问题.它提供了一个20x20的数字网格并询问:

20x20网格中任意方向(上,下,左,右或对角)的四个相邻数字的最大乘积是多少?

我已多次查看我的代码,但我似乎无法找到为什么我的结果不正确.

#include <iostream>
using namespace std;

void find_greatest_product()
{   
    int grid[20][20] =
    {{8, 02, 22, 97, 38, 15, 00, 40, 00, 75, 04, 05, 07, 78, 52, 12, 50, 77, 91, 8},
    {49, 49, 99, 40, 17, 81, 18, 57, 60, 87, 17, 40, 98, 43, 69, 48, 04, 56, 62, 00},
    {81, 49, 31, 73, 55, 79, 14, 29, 93, 71, 40, 67, 53, 88, 30, 03, 49, 13, 36, 65},
    {52, 70, 95, 23, 04, …
Run Code Online (Sandbox Code Playgroud)

c++

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

从.h中定义.cpp中的模板化函数(获取错误)

头文件dlist.h的一部分定义为:

#ifndef __DLIST_H__
#define __DLIST_H__
#include <iostream>

class emptyList {};

template <typename T>
class Dlist {
 public:
    bool isEmpty() const;

 private:
    struct node {
    node   *next;
    node   *prev;
    T      *o;
    };

    node   *first; // The pointer to the first node (NULL if none)
    node   *last;  // The pointer to the last node (NULL if none)
};

#include "dlist.cpp"
#endif
Run Code Online (Sandbox Code Playgroud)

当我创建这样的dlist.cpp文件时:

#include "dlist.h"

template <typename T>
bool Dlist<T>::isEmpty() const
{
    return !first and !last;
}
Run Code Online (Sandbox Code Playgroud)

我在第4行收到错误消息:重新定义'bool Dlist :: isEmpty()const'

如果我删除了#include …

c++

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

如何在广度优先搜索中快速找到最短路径?

我正在使用广度优先搜索来查找图中的位置,我很确定我的算法正常工作,但是当我完成时,我很难找到结果的最短路径.基本上,我可以使用BFS从我的起始位置到达我的最终位置,但我不知道如何构建从最终到开头的最短路径.任何帮助,将不胜感激.

谢谢.

c++ algorithm graph breadth-first-search

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

如何使用STL为数据点创建最大和最小堆?

我正在尝试解决一个导致我为某些数据点创建最大和最小堆的问题.假设我有以下信息:

(10,100)
(30,120)
(14,110)
(18,200)
(20,230)
(13,49)
Run Code Online (Sandbox Code Playgroud)

我想将这些数据点存储在最大和最小堆中,但我想要用第二个值创建堆.但是,我仍然需要保留第一个值,因为我稍后在程序中使用它.我怎样才能完成这项任务?什么是最有效的STL方法总是弹出最大值或始终从一组数据点弹出最小值,同时仍然保留其他配对数据?

c++ stl

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

计算反演次数(从概念上讲?)

所有,我试图了解我们究竟是如何计算两个数组之间的反转次数.

比方说,我们有以下两个数组:

A = [1,2,3,4,5,6] B = [6,3,5,4,2,1]

我如何从概念上计算反演次数?也就是说,只看这两个数组,忽略所涉及的编码.

另外,我知道在两个数组之间绘制线段的惯例,但我试图在这里获得更深入的理解.

谢谢!

algorithm

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

有人可以解释这里发生了什么(类和构造函数/析构函数)?

#include <iostream>
#include <string>

using namespace std;

class Person
{
    string name;

    public:
        Person():name("")
        {
            cout << "Person default ctor\n";
        }
        Person(const string& name_in):name(name_in)
        {
            cout << "Person string ctor: " << name << "\n";
        }
        ~Person()
        {
            cout << "Person dtor: " << name << "\n";
        }
        string get_name()
        {
            return name;
        }
};

class Professor:public Person
{
    int office;

    public:
        Professor(const string& name_in, int office_in):Person(name_in), office(office_in)
        {
            cout << "Professor string ctor: " << get_name() << endl;
        } …
Run Code Online (Sandbox Code Playgroud)

c++

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

检查字符串是否为数字的最快方法是什么?

检查像"2.4393"或"2"这样的字符串是否有效的最快方法是什么 - 它们都可以用双倍表示,而字符串"2.343".或"ab.34"不是?我特别希望能够读取任何字符串,如果它可以是双,双变量分配给它,如果它不能为双(因为它是一个字或只是无效输入的情况下) ,显示错误消息.

c++

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

什么是最有效的从后面插入并从前面和后面移除的容器?

在运行时方面,通过背面存储大量数据并从正面或背面移除的最有效容器是什么?

c++

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

我们如何在c ++中快速解决斐波那契序列?

是否可以确定某个整数是否小于N时间的斐波纳契数,其中N是第N个斐波纳契数?我正在尝试优化解决方案,这将有很大帮助.

我也试图排除所有外部库(因此下面的答案中的Math.sqrt()之类的东西不能用于我的目的).任何其他建议都会很棒.

谢谢.

c++

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

如何检查从文件读入的内容是否是有效整数?

我正在尝试这样的事情:

int integer;

cin >> integer;

if(!integer) {//do something}
Run Code Online (Sandbox Code Playgroud)

但显然这是一个问题,如果整数= 0.

是否有更有效的方法来检查某些东西是否为整数?

c++

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

标签 统计

c++ ×9

algorithm ×2

breadth-first-search ×1

graph ×1

stl ×1