题目:从扑克牌中随机抽5张牌,判断是不是一个顺子,即这5张牌是不是连续的。2~10为数字本身,A为1,J~K为11,12,13,而大小王可以看成任意数字。(网易要求必须用C完成,可以用C库函数)

java代码:

//扑克牌中的顺子。通过测试
//随机5张牌,大小王代表任意数
import java.util.*;
public class PlayingCards{
public static void main(String[] args){
int data[]={5,7,8,9,0};
System.out.println(playingCards(data));
}
public static boolean playingCards(int data[]){
if(data==null||data.length<1){
return false;
}
int gap = 0;
int kings = 0 ;
Arrays.sort(data);
for(int i=0; i<data.length&&data[i]==0; i++){
kings++;
}
int j=kings;
while(j<data.length-1){
if(data[j]==data[j+1]){
return false;
}
gap+=data[j+1]-data[j]-1;//!!! +=
j++;
}
return (kings>=gap)?true:false;
}
}

c代码:

#include <iostream>
#include <stdio.h>
using namespace std;
//自己写的代码,大小王看成是0
int compare(const void *arg1, const void *arg2)
{
return *(int*)arg1-*(int*)arg2;
}
void isContinuous(int *array,int size)
{
if(array==NULL||size<)
{
cout<<"wrong input!"<<endl;
return;
}
qsort(array,size,sizeof(int),compare);//C的库函数,排序,时间复杂度O(nlogn)
int gap=;
int king=;
for(int i=;i<size;i++)
{
if(array[i]==){
king++;
}
else if(i<size-)
{
if(array[i]==array[i+])//有相同点数的时候,不可能是顺子
{
cout<<"not continuous!"<<endl;
return;
}
else
{
gap+=(array[i+]-array[i]-);
}
} }//for
if(gap>king)
{
cout<<"not continuous!"<<endl;
return;
}
else
{
cout<<"is continuous!"<<endl;
return;
}
}
int main(){
int array[]={,,,,};
isContinuous(array,sizeof(array)/sizeof(int));
}

最新文章

  1. php创建新用户注册界面布局实例
  2. ASP.NET收发邮件
  3. ZOJ 3878--解题报告
  4. struct ifreq结构体与ip,子网掩码,网关等信息
  5. Winform-CheckBox、ChecklistBox控件遍历代码
  6. BZOJ 3505 CQOI 2014 数三角形 数学
  7. Apache自带 ab压测工具 Windows配置使用说明 - 随笔记录
  8. mysql进阶(二)索引简易教程
  9. flex-手机端主页布局实例---构造页面结构
  10. 神经网络_线性神经网络 2 (Nerual Network_Linear Nerual Network 2)
  11. [物理学与PDEs]第5章习题6 各向同性材料时强椭圆性条件的等价条件
  12. 2018-2019-2 20165236 《网络对抗技术》Exp4 恶意代码分析
  13. 实现两线程的同步二(lockSupport的park/unpark)
  14. OpenCV自带dnn的Example研究(4)— openpose
  15. 第三篇 功能实现(2) (Android学习笔记)
  16. 设计模式之观察者模式(Observer)(4)
  17. Delphi 的内存操作函数(5): 复制内存
  18. java在注解中绑定方法参数的解决方案
  19. Makefile详解
  20. ArcGIS API for JavaScript开发笔记(一)——ArcGIS for Javascript API 3.14本地部署

热门文章

  1. Private Variable
  2. 用edoc2实现上传和下载
  3. app测试自动化之打开简书的登录界面,等待五秒后关闭
  4. 【Qt开发】Qt应用程序发布封装
  5. java中抽象类、接口及区别
  6. python 并发编程目录
  7. Maven从入门到精通(一)
  8. udb
  9. hdfs的balancer
  10. 解决Asp.Net core 控制台出现乱码的情况