小编ark*_*ght的帖子

Prolog - 第一个列表是第二个列表的子列表,同时保持顺序?

我想检查列表 L1 的元素是否在列表 L2 中以相同的顺序连续出现。

例如 - check([b,c],[a,b,c,d]) 必须返回 true 而 check([b,d],[a,b,c,d]) 必须返回 false

我看了类似的帖子Prolog - 第一个列表是第二个列表的子列表?并且还尝试了类似的解决方案,但是每当我尝试检查元素是否存在时,我都无法检查排序是否连续

check( [], _ ).
check( [X|XS], [X|XSS] ) :- sublist( XS, XSS ).
check( [X|XS], [_|XSS] ) :- sublist( [X|XS], XSS ).
Run Code Online (Sandbox Code Playgroud)

如果我尝试检查排序是否正确,那么我的代码就会中断。

check( [], _ ).
check( [X|XS], [X|XSS] ) :- sublist( XS, XSS ).
Run Code Online (Sandbox Code Playgroud)

list prolog sublist

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

从 HashMap 中获取前 k 个值

我正在尝试从哈希图中获取前 k 个值。

我知道如何从哈希图中获取所有值以及如何迭代所有值。有没有什么简单的方法可以从 hashmap 生成前 k 个值

for (Map.Entry<String, Integer> en : hmap.entrySet()) 
{ 
        System.out.println("Key = " + en.getKey() + ", Value = " + en.getValue());
}
Run Code Online (Sandbox Code Playgroud)

java string hashmap

0
推荐指数
1
解决办法
654
查看次数

标签 统计

hashmap ×1

java ×1

list ×1

prolog ×1

string ×1

sublist ×1