1.题目:井字游戏
用字符串数组作为井字游戏的游戏板board,判断该游戏板有没有可能最终形成.
游戏板是一个3 x 3 数组,由字符"","X"和"O"组成。字符""代表一个空位。两个玩家轮流将字符放入空位,一个玩家执X棋,另一个玩家执O棋
“X”和“O”只允许放置在空位中,不允许对已放有字符的位置进行填充。当有3个相同(且非空)的字符填充任何行、列或对角线时,游戏结束,board生成.
题目意思:就是看有没有人,成功的三个棋子连了一根线


2.算法:暴力算法


3.算法思想:暴力判断!!


4.代码:

/*************************************************
作者:She001
时间:2022/9/5
题目:井字游戏
用字符串数组作为井字游戏的游戏板board,判断该游戏板有没有可能最终形成.
游戏板是一个3 x 3 数组,由字符"","X"和"O"组成。字符""代表一个空位。两个玩家轮流将字符放入空位,一个玩家执X棋,另一个玩家执O棋
“X”和“O”只允许放置在空位中,不允许对已放有字符的位置进行填充。当有3个相同(且非空)的字符填充任何行、列或对角线时,游戏结束,board生成.
题目意思:就是看有没有人,成功的三个棋子连了一根线
.
算法:暴力算法
***************************************************/#include<bits/stdc++.h>
using namespace std;
//
//算法:暴力算法bool fangfa_1_1(char nn[])
{int n=0;char num[3][3]={0};//二维数组, 因为 井  行和列只有 3  for(int i=0;i<3;i++)//一维数组,转化为二维数组 {for(int j=0;j<3;j++){num[i][j]=nn[n];n++;}}for(int i=0;i<3;i++){//一行一行的判断 if(num[i][0]==num[i][1]){if(num[i][1]==num[i][2]){return true;}}//一列一列的判断 if(num[0][i]==num[1][i]){if(num[1][i]==num[2][i]){return true;}}}if(num[0][0]==num[1][1])//对角线判断 {if(num[1][1]=num[2][2]){return true;}}if(num[0][2]==num[1][1])//对角线判断 {if(num[1][1]=num[2][0]){return true;}}return false;
}bool fangfa_1(char nn[])//nn 为一维数组,进入函数就会转发为二维数组
{int n=0;char num[3][3]={0};//二维数组, 因为 井  行和列只有 3  for(int i=0;i<3;i++)//一维数组,转化为二维数组 {for(int j=0;j<3;j++){num[i][j]=nn[n];n++;}}//判定 他是否 3 个棋子连成一线int xcount=0;//统计  x  棋子的个数 int ocount=0; //统计  o  棋子的个数 for(int i=0;i<3;i++)//统计个数 {for(int j=0;j<3;j++){if(num[i][j]=='o'){ocount++;}if(num[i][j]=='x'){xcount++;}}}//x  下完之后就成功了   所以  xcount - ocout==1//o   下完之后就成功了   所以  xcount =ocout//假如这两种情况都不是,就是假的 if(xcount!=ocount &&  xcount - ocount!=1)//第一次判断 {return false;}//第二次判断int a=fangfa_1_1(nn);if(a==1){return true;}else{return false;}
} int main()
{/*int num[3][3]={{'x',' ','o'},{'x','o','x'},{'o','x','o'}      };*/char num[]={'x',' ','o','x','o','x','o','x','o'};char num1[]={'x','o','o','x',' ','x','o','x','o'};int a=fangfa_1(num);if(a==1){cout<<"true"<<endl;}else{cout<<"false"<<endl;}int b=fangfa_1(num1);if(b==1){cout<<"true"<<endl;}else{cout<<"false"<<endl;}return    0;
} 

面试算法 井字游戏 算法:暴力算法相关推荐

  1. leetcode 刷500道题,笔试/面试稳吗?谈谈算法的学习

    来源公众号:苦逼的码农 作者:帅地 想要学习算法.应付笔试或者应付面试手撕算法题,相信大部分人都会去刷 Leetcode,有读者问?如果我在 leetcode 坚持刷它个 500 道题,以后笔试/面试 ...

  2. Interview:算法岗位面试—11.17下午上海某网**软件公司(上市)技术面之比赛考察、目标检测算法、视频分析算法考点

    Interview:算法岗位面试-11.17下午上海某网**软件公司(上市)技术面之比赛考察.目标检测算法.视频分析算法考点 导读:邀约的下午14.30,到的时候前边有两个学生在等待,当轮到我的时候, ...

  3. Interview:算法岗位面试—10.29下午上海某电子(偏传统ML算法,外企)数据结构算法+晚上国内某保险公司(偏AI算法,世界500强)技术面试之分类算法、回归算法、聚类算法等细节考察

    ML岗位面试:10.29下午上海某电子(偏传统ML算法,外企)数据结构算法+晚上国内某保险公司(偏AI算法,世界500强)技术面试之分类算法.回归算法.聚类算法等细节考察 Interview:算法岗位 ...

  4. Interview:算法岗位面试—上海某科技公司算法岗位(偏AI算法,国企)技术面试之BN层的认知、BP的推导、GD优化的几种改进等

    Interview:算法岗位面试-上海某科技公司算法岗位(偏AI算法,国企)技术面试之BN层的认知.BP的推导.GD优化的几种改进等 导读:关于神经网络,问的比较深,因为博主做过总结,所以用自己的语言 ...

  5. Interview:算法岗位面试—10.23下午—上海某科技公司算法岗位(偏机器学习算法,上市)技术面试之比赛积累、项目经验、个人未来发展

    Interview:算法岗位面试-10.23下午-上海某科技公司算法岗位(偏机器学习算法,上市)技术面试之比赛积累.项目经验.个人未来发展 导读:该面试,是线上笔试通过之后,邀约的面试.整个面试过程比 ...

  6. Interview:人工智能岗位面试—人工智能职位之计算机视觉算法工程师的简介、知识结构、发展方向之详细攻略

    Interview:人工智能岗位面试-人工智能职位之计算机视觉算法工程师的简介.知识结构.发展方向之详细攻略 目录 计算机视觉算法工程师的简介 计算机视觉算法工程师的知识结构 计算机视觉算法工程师的发 ...

  7. 数据结构 - 二叉树 - 面试中常见的二叉树算法题

    数据结构 - 二叉树 - 面试中常见的二叉树算法题 数据结构是面试中必定考查的知识点,面试者需要掌握几种经典的数据结构:线性表(数组.链表).栈与队列.树(二叉树.二叉查找树.平衡二叉树.红黑树).图 ...

  8. 数据结构 - 链表 - 面试中常见的链表算法题

    数据结构 - 链表 - 面试中常见的链表算法题 数据结构是面试中必定考查的知识点,面试者需要掌握几种经典的数据结构:线性表(数组.链表).栈与队列.树(二叉树.二叉查找树.平衡二叉树.红黑树).图. ...

  9. k均值算法 二分k均值算法_如何获得K均值算法面试问题

    k均值算法 二分k均值算法 数据科学访谈 (Data Science Interviews) KMeans is one of the most common and important cluste ...

最新文章

  1. Cassandra安装测试
  2. 会员管理scrm系统精细化运营更好促进成交
  3. Go语言简单的TCP编程
  4. linux进程授权,一个linux小程序的免授权或通用授权
  5. 使用 010 Editor 分析二进制文件格式
  6. Span元素的 width属性 无效果原因及解决方案
  7. Activity和Service交互
  8. Django ORM中原生JSONField的使用方法
  9. Kettle入门案例
  10. 基于Springboot+Mybatis+Mysql的人事考勤统计管理系统
  11. 【黄啊码】thinkphp sql wherein的排序问题|tp不能按whereIn排序?
  12. 全球时区(查询备用)
  13. 那绿色的叶对着柔和的阳光
  14. B - Learning Languages
  15. taobao wap session
  16. 使用java获取硬盘序列号
  17. 【LeetCode刷题】二月汇总篇
  18. 【Java】棋盘覆盖问题
  19. 虚拟机为什么连接不上网络,怎样才能连上网络
  20. 2020-1-17数字逻辑于数字系统课程实验一(门电路逻辑功能及测试)

热门文章

  1. MATLAB tof仿真
  2. Student s1 = new Student();这个过程发生了什么
  3. ARKit实现地球球体
  4. matplotlib如何设置grid密度,如何设置网格线密度
  5. virtio frontend and backend
  6. python将图片转换成动漫_python实现图片转换成素描和漫画格式
  7. 原生JQUERY html5 分页
  8. ximalaya一键音频保存到电脑
  9. oracle数据库50题,Oracle数据库试题100题(附答案).pdf
  10. 基于SSM+Python的仿Panli海外代购平台毕业设计(SSM毕业设计)