小编Man*_*ngo的帖子

从单词列表中最长的单词链

所以,这是我正在尝试的功能的一部分.

我不希望代码太复杂.

我有一个单词列表,例如

words = ['giraffe', 'elephant', 'ant', 'tiger', 'racoon', 'cat', 'hedgehog', 'mouse']
Run Code Online (Sandbox Code Playgroud)

单词链序列的概念是下一个单词以最后一个单词结尾的字母开头.

(编辑:每个单词不能多次使用.除此之外没有其他限制.)

我希望输出给出最长的单词链序列,在这种情况下是:

['hedgehog', 'giraffe', 'elephant', 'tiger', 'racoon']
Run Code Online (Sandbox Code Playgroud)

我不确定该怎么做,我尝试过不同的尝试.其中一个......

如果我们从列表中的特定单词开始,此代码正确地找到单词链,例如单词[0](所以'giraffe'):

words = ['giraffe', 'elephant', 'ant', 'tiger', 'racoon', 'cat', 'hedgehog', 'mouse']

word_chain = []

word_chain.append(words[0])

for word in words:
    for char in word[0]:

       if char == word_chain[-1][-1]:
            word_chain.append(word)

print(word_chain)
Run Code Online (Sandbox Code Playgroud)

输出:

['giraffe', 'elephant', 'tiger', 'racoon']
Run Code Online (Sandbox Code Playgroud)

但是,我想找到最长的单词链(如上所述).

我的方法:所以,我尝试使用我编写和循环的上述工作代码,使用列表中的每个单词作为起点,找到每个单词[0],单词[1],单词[2]的单词链然后我尝试通过使用if语句找到最长的单词链,并将长度与前一个最长的链进行比较,但我无法正确完成它,我真的不知道这是怎么回事.

words = ['giraffe', 'elephant', 'ant', 'tiger', 'racoon', 'cat', 'hedgehog', 'mouse']

word_chain = []
max_length = 0
for starting_word_index in range(len(words) - …
Run Code Online (Sandbox Code Playgroud)

python recursion graph path-finding

37
推荐指数
3
解决办法
4292
查看次数

如果项目的长度小于或等于1,则从字典中删除项目

有没有一种方法可以使用字典的索引位置(如果有的话)从字典中删除键,而不是使用实际的键(避免del d['key']使用例如,而是使用索引位置)从字典中删除键?

如果有的话,也不必理会这个问题的其余部分,因为这也是我在寻找的内容。


因此,作为我的例子,我有字典d,它使用列表作为值:

d = {'acd': ['cad'], 'abd': ['bad', 'dab']}
Run Code Online (Sandbox Code Playgroud)

我想从这样的字典中完全删除每个键,这些字典的值的项目长度小于2(因此,如果只有1个项目)。

因此,在此示例中,我想删除键,'acd'因为它的值列表只有1个项目['cad']'abd'有2个项目['bad', 'dab'],所以我不想删除它-仅当它包含1个或更少的项目时。这本字典只是一个例子-我正在使用比这更大的版本,并且我需要它来删除所有单个项目值键。

我为测试编写了该代码,但是我不确定如何删除想要的密钥-或确定它们是什么。

d = {'acd': ['cad'], 'abd': ['bad', 'dab']}

index_pos = 0

for i in d.values():

    #Testing and seeing stuff
    print("pos:", index_pos)
    print(i)
    print(len(i))

    if len(i) < 2:

        del d[???]
        #What do I do?

    index_pos += 1
Run Code Online (Sandbox Code Playgroud)

我使用index_pos是因为我认为它可能有用,但不确定。

我知道我可以使用以下方法从字典中删除一个条目

del d['key']
Run Code Online (Sandbox Code Playgroud)

但是,如何避免使用键,例如改用索引位置,或者如何找出键,以便将其删除?

python dictionary

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

使用 .toArray() 将 ArrayList 转换为 Int[] 数组?或者...?

因此,这是检查日期范围内可用房间的方法的一部分,旨在返回可用房间号的 int [] 数组。

        ArrayList roomNums = new ArrayList();
        roomNums.toArray();
        for (Room room: rooms){
            int roomNumber = room.getRoomNumber();
            if(room.getRoomType() == roomType && isAvailable(roomNumber, checkin, checkout)){ // This works fine, ignore it

                roomNums.add(roomNumber); 
            }
        }
        return roomNums.toArray(); // Error here, return meant to be int [] type but it's java.lang.Obeject []
Run Code Online (Sandbox Code Playgroud)

错误发生在 roomNums.toArray() 的末尾

我看到别人做了这个衬里,它对他们有用,为什么不适合我?

roomNums 中的每个元素都是一个整数。(我认为)

打印包含可用房间的整数数组的最快和最简单的方法是什么?我是否需要创建一个循环,或者我可以用这个 .toArray() 一个衬垫或类似的东西做一些事情吗?

谢谢

java arraylist

4
推荐指数
1
解决办法
6025
查看次数

标签 统计

python ×2

arraylist ×1

dictionary ×1

graph ×1

java ×1

path-finding ×1

recursion ×1