小编Ric*_*ard的帖子

如何从单词列表创建一个Boggle Board?(反向Boggle求解器!)

我正在尝试解决反向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)

这个问题很难(对我来说).我到目前为止的算法:

  1. 对于输入中的每个单词,列出其可以合法地在板上显示的所有可能方式.
  2. 尝试在这些板上放置#2字的所有可能组合,并保留没有冲突的组合.
  3. 重复直到列表末尾.
  4. ...
  5. 利润!!!(对于那些阅读/.)

显然,有实现细节.首先从最长的单词开始.忽略作为其他单词的子串的单词.

我可以在大约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)

python algorithm boggle

5
推荐指数
1
解决办法
3612
查看次数

检测ADB服务器是否在Android上运行?

我试图检测是否在adb serverAndroid设备上运行我的免费游戏的反作弊实施的一部分.

具体来说,我想停止使用adb shell input tap x,y,因为游戏是一个有竞争力的多人益智游戏.

我尝试过的事情:

  1. 使用电池信息我可以检测USB是否已插入.嗯,这也是一种合法用途.

  2. 使用Settings.SecureSettings.Global,我可以查询ADB_ENABLED,但1如果启用了adb ,它总会返回.它没有考虑adb连接与否!

  3. 查询所有系统服务,但我看不到任何看起来像adb服务的东西.

在这一点上,我没有想法.希望别人知道怎么做?

android adb

5
推荐指数
1
解决办法
3659
查看次数

使用自定义比较器排序的集合不起作用

我创建了一个自定义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)

java sorting collections android comparator

4
推荐指数
2
解决办法
2万
查看次数

RxAndroid和按钮事件?

任何人都知道如何使用RxAndroid从按钮点击中获得点击?

不,这不是重复.太多变了.

我试过了:

  • Events.click()...已被删除
  • RxTextView.editorActions()...假设工作,因为TextView是Button的超类...确实没有得到任何事件
  • ViewObservable.clicks()....已被删除或移动到RxBindings(据说,但我找不到它!)

我的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 rx-android

3
推荐指数
1
解决办法
3121
查看次数