我正在尝试解决反向Boggle问题.简单地说,给定一个单词列表,得出一个4x4字母的字母,其中列表中的多个单词可以在相邻字母的序列中找到(字母正交和对角相邻).
我不想拿一块已知的板子来解决它.这是一个简单的TRIE问题,并且已经在人们的CS项目中进行了讨论/解决.
单词列表示例:
margays, jaguars, cougars, tomcats, margay, jaguar, cougar, pumas, puma, toms
Run Code Online (Sandbox Code Playgroud)
解:
ATJY
CTSA
OMGS
PUAR
Run Code Online (Sandbox Code Playgroud)
这个问题很难(对我来说).我到目前为止的算法:
显然,有实现细节.首先从最长的单词开始.忽略作为其他单词的子串的单词.
我可以在大约0.4秒内为7个字符的单词生成所有68k可能的板.然后,当我添加一个额外的7个字符板时,我需要比较68k x 68k板x 7比较.解决时间变得冰冷.
必须有一个更好的方法来做到这一点!!!!
一些代码:
BOARD_SIDE_LENGTH = 4
class Board:
def __init__(self):
pass
def setup(self, word, start_position):
self.word = word
self.indexSequence = [start_position,]
self.letters_left_over = word[1:]
self.overlay = []
# set up template for overlay. When we compare boards, we will add to this if the board fits
for i in range(BOARD_SIDE_LENGTH*BOARD_SIDE_LENGTH): …Run Code Online (Sandbox Code Playgroud) 我试图检测是否在adb serverAndroid设备上运行我的免费游戏的反作弊实施的一部分.
具体来说,我想停止使用adb shell input tap x,y,因为游戏是一个有竞争力的多人益智游戏.
我尝试过的事情:
使用电池信息我可以检测USB是否已插入.嗯,这也是一种合法用途.
使用Settings.Secure或Settings.Global,我可以查询ADB_ENABLED,但1如果启用了adb ,它总会返回.它没有考虑adb连接与否!
查询所有系统服务,但我看不到任何看起来像adb服务的东西.
在这一点上,我没有想法.希望别人知道怎么做?
我创建了一个自定义Comparator来对字符串的ArrayList进行排序.我已通过调试器运行它并观察它正确比较和返回值.但是,我的数组没有排序.由于我是Java和Android的新手,可能还会有其他事情发生.
看了几个小时后,我无法弄清楚是什么......因为我一直在用这个网站回答这么多其他问题,我知道该去哪里!
Collections.sort(allWords, new Comparator<String>(){
public int compare(String o1, String o2) {
scoreWord sc1 = new scoreWord((String)o1);
scoreWord sc2 = new scoreWord((String)o2);
int i1 = sc1.getScore();
int i2 = sc2.getScore();
if ( i1 > i2 )
return 1;
return 0;
}
public boolean equals(String o1, String o2) {
scoreWord sc1 = new scoreWord((String)o1);
scoreWord sc2 = new scoreWord((String)o2);
int i1 = sc1.getScore();
int i2 = sc2.getScore();
if ( i1 == i2 )
return true;
return false;
}
});
Run Code Online (Sandbox Code Playgroud) 任何人都知道如何使用RxAndroid从按钮点击中获得点击?
不,这不是重复.太多变了.
我试过了:
我的Gradle依赖项是:
compile 'io.reactivex:rxjava:1.0.14'
compile 'io.reactivex:rxandroid:1.0.1'
compile 'com.jakewharton.rxbinding:rxbinding:0.2.0'
Run Code Online (Sandbox Code Playgroud)
想法有人吗?
android ×3
adb ×1
algorithm ×1
boggle ×1
collections ×1
comparator ×1
java ×1
python ×1
rx-android ×1
sorting ×1