package cn.longxingtx.number;
import java.util.ArrayList;
public class Straight {
private int[] straight_arr;
public int[] getStraight_arr() {
return straight_arr;
}
public void setStraight_arr(int[] straightArr) {
straight_arr = straightArr;
}
private void sort() {
int a;
for(int i = 0; i < straight_arr.length; i++) {
for (int j = i+1; j < straight_arr.length; j++) {
if(straight_arr[i] > straight_arr[j]) {
a = straight_arr[i];
straight_arr[i] = straight_arr[j];
straight_arr[j] = a;
}
}
}
}
public ArrayList<Integer> straightArray(int _num) {
sort();
ArrayList<Integer> list = getStraight(_num);
return list;
}
private ArrayList<Integer> getStraight(int _num) {
ArrayList<Integer> arraylist = new ArrayList<Integer>();
ArrayList<Integer> arraylist2 = new ArrayList<Integer>();
int num = _num;
int k = 0;
int size = 5;
if(num == 1) {
size = 5*num;
} else if(num == 2) {
size = 3*num;
} else if(num == 3) {
size = 2*num;
}
for (int i = 0; i < straight_arr.length; i++) {
if(i == 0) {
arraylist.add(straight_arr[i]);
k ++;
} else {
if(k == num) {
if(straight_arr[i] == straight_arr[i - 1]) {
continue;
}
if(straight_arr[i] != straight_arr[i - 1] + 1) {
if(arraylist.size() >= size && arraylist2.size() < arraylist.size()) {
arraylist2.clear();
arraylist2.addAll(arraylist);
}
arraylist.clear();
}
arraylist.add(straight_arr[i]);
k = 1;
} else {
if(straight_arr[i] != straight_arr[i - 1]) {
for(int m = 0; m < k; m++) {
arraylist.remove(arraylist.size() - 1);
}
if(arraylist.size() >= size && arraylist2.size() < arraylist.size()) {
arraylist2.clear();
arraylist2.addAll(arraylist);
}
arraylist.clear();
k = 0;
}
arraylist.add(straight_arr[i]);
k ++;
}
}
}
return arraylist2;
}
public static void main(String[] args) {
Straight st = new Straight();
int[] array = {1, 2, 5, 3, 4, 3, 2, 2, 8, 9, 5, 6, 12, 13, 6, 8, 9, 4, 5, 7, 2, 7, 9, 11, 13, 5, 6, 7};
st.setStraight_arr(array);
System.out.println(st.straightArray(1));
System.out.println(st.straightArray(2));
System.out.println(st.straightArray(3));
}
}
分享到:
相关推荐
斗地主 顺子 计算 华为od
c#斗地主c#斗地主c#斗地主c#斗地主
斗地主小游戏源码 PHP在线斗地主源码 PHP+flash
vc斗地主源码 斗地主VC源码 源码斗地主 很好很强大的哦!
的情况根据arr[2]为顺子且个数大于1,且arr[2]中存放的牌的张数乘以3刚好等于arr[0]的张数+arr[1]的张数.则可以判定是三带一的飞机.其他类型的牌也有相似的规律.以下是该算法的核心源代码.本算法用C#编写.
斗地主残局算法python,输入地主与农名的牌。自动计算地主出牌
秒解抖音、微信等各大平台的斗地主残局挑战 支持自定义出牌规则 斗地主求解器说明: 输入双方的牌后单击“开始求解”按钮即可 求解完成后,电脑会自动选择必胜的一方与用户对局互动,以演示如何必胜
实现技术多线程,IO流等等。实现能功,多线程聊天,...一个很强大的MyQQ斗地主程序游戏。局域网斗地主,只要知道服务器IP就可以三人斗地主。操作:(只需要用一个电脑做服务器又做用户,连上服务器就可以三个斗地主了)
斗地主vs2005网络版 C# 斗地主网络版 斗地主 .net C/s
Lua脚本的斗地主的提示出牌算法。...查找某牌型的算法:查找所有的单牌,查找所有的对子,查找所有的三条,查找所有的单顺,双顺,飞机,飞机带单,飞机带双。 排序算法。 转成花色,转成点数, 比较算法等。
本站之前介绍过一个单机斗地主项目源码,在本站搜索斗地主就可以找到,那个项目算法正常不过ui很一般,本项目也是一个安卓斗地主项目源码本项目的UI很漂亮,但是游戏的算法有问题,如果把之前那个斗地主的算法拿过来...
实现斗地主AI算法,已经测试逻辑的一些接口,程序用MFC实现了一个单机版的都地主,效果还不错
三家斗地主HTML5源码
Unity 3D斗地主游戏源码,U3D,包含各种资源
java写的斗地主程序,有完整的文档,以往对你有帮助
开心斗地主,一款不错的斗地主游戏,经过我的多个月的实践,才肯推荐给大家使用的
斗地主网页版(单机)是用html5+css做的,可供大家学习。
不要分,但是希望大家下载了能评测下,做个评论好吗,谢谢支持,之前发了个java版的单机斗地主,受到大家的支持,现在又初学安卓,于是花了一个星期做了一个安卓版的斗地主,代码比之前有所优化,可能还是有待发现的...
unity3d开发 欢乐斗地主资源,包含各种图标, 欢乐斗地主是腾讯移动游戏平台的首款实时对战棋牌手游,是根据扑克牌游戏"跑得快"改编而成的三人游戏。该游戏以斗地主活动为背景,通过扑克牌来决定游戏的胜负。该游戏...
HTML5游戏《欢乐斗地主》源码,人机对弈模式