我想检查列表 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) 我正在尝试从哈希图中获取前 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)