美文网首页
骰子求和

骰子求和

作者: 高思阳 | 来源:发表于2018-10-18 11:35 被阅读6次

https://www.cnblogs.com/bozhou/p/6971081.html

题目:给出二维平面上的n个点,求最多有多少点在同一条直线上。

例子:给出4个点:(1, 2),(3, 6),(0, 0),(1, 3)。一条直线上的点最多有3个。

方法:取定一个点points[i],遍历其他所有节点,然后统计斜率相同的点数(用map(float, int)记录斜率及其对应点数,取map中点数最多的斜率),并求取最大值即可。

class Solution {

public:

int maxPoints(vector<Point> &points) {

// IMPORTANT: Please reset any member data you declared, as

// the same Solution instance will be reused for each test case.

unordered_map<float,int> mp;

int maxNum = 0;

for(int i = 0; i < points.size(); i++)

{

mp.clear();

mp[INT_MIN] = 0;

int duplicate = 1;

for(int j = 0; j < points.size(); j++)

{

if(j == i) continue;

if(points[i].x == points[j].x && points[i].y == points[j].y)

{

duplicate++;

continue;

}

float k = points[i].x == points[j].x ? INT_MAX : (float)(points[j].y - points[i].y)/(points[j].x - points[i].x);

mp[k]++;

}

unordered_map<float, int>::iterator it = mp.begin();

for(; it != mp.end(); it++)

if(it->second + duplicate > maxNum)

maxNum = it->second + duplicate;

}

return maxNum;

}

};

相关文章

  • 骰子求和

    https://www.cnblogs.com/bozhou/p/6971081.html 题目:给出二维平面上的...

  • 骰子求和

    1、题目描述 要求:扔 n 个骰子,向上面的数字之和为 S。给定 Given n,请列出所有可能的 S 值及其相应...

  • Python 使用matplotlib模块模拟掷骰子

    掷骰子 骰子类 折线图掷骰子 散点图掷骰子

  • 看着很和谐其实很撕逼的骰子城(Dice City)

    上期介绍了两款骰子游戏,然而本期我们接着介绍一款骰子游戏。有了骰子街,骰子镇,这次又来了一个骰子城。 骰子城是AE...

  • 一个Dice Building Game的粗略设计

    可参考游戏:1、Dice Forge 核心系统:骰子构建 属性: 骰子: 骰面数、骰子材质(等级)......骰...

  • 微信摇骰子小程序

    好玩的小程序-微信摇骰子小程序-ktv喝酒摇骰子-摇骰子游戏-酒桌游戏微信摇骰子(摇色子)小程序源码分享、学习交流。

  • n枚骰子点数和概率问题

    n枚骰子点数和概率问题 随意投掷n枚骰子,求每一种骰子点数和出现的概率。 设n枚骰子点数的和出现数目为,概率 1....

  • 桌游想法/1

    骰子是不可控的单驼峰,为平衡需要大量统计学且骰子越多越难算 抽卡在某种程度上比骰子更可控但容易出现“最优解” 骰子...

  • 拼读游戏怎么玩?

    拼读游戏怎么玩?请听Tyger分解摇动骰子-抽取闪卡-吃鱼时间-Bingo环节 初始环节-摇动骰子,骰子六个面分别...

  • 学习力践行20170710/D8

    1. "碰运气”,三个人每人10个格子,两个骰子,一个前进骰子,一个后退骰子,先用前进骰子,到达或超过6就得用后退...

网友评论

      本文标题:骰子求和

      本文链接:https://www.haomeiwen.com/subject/dtmjzftx.html