gpt4 book ai didi

java - 从 Arraylist 中过滤掉整数(索引)

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:49:04 25 4
gpt4 key购买 nike

<分区>

我有一个包含不同短语的数组列表,例如“蛋白质”、“蛋白激 enzyme ”、“功能性”、“功能性蛋白质”、“sox5”、“il-6”,现在,如果我给出一个句子作为输入, “functional protein kinase and il-6 and sox5”,它必须提供输出为“{functional protein} kinase and {il-6} and {sox5}”。句子中的每个单词都必须与短语进行比较。

我完成的代码返回不同字符串的开始和结束索引,这些索引与不同短语的数组列表进行比较。我只需要过滤掉最大且没有任何冲突的索引。例如输入:

[0, 7][8, 22][8, 15] [36, 43] [23, 43] [20, 30]

要求的输出:

[0, 7] [8, 22] [23, 43]

案例:

  • 在[8, 22]和[8, 15]之间,[8, 22]最大,因为22-8 = 14 > 15-8 = 7,所以必须选择[8,22]。
  • 在 [36, 43]、[23, 43] 和 [20, 30] 之间,36 在 [23, 43] 范围内,30 在 [23, 43] 范围内,这是碰撞,但在这些范围内碰撞,[23, 43] 是最大,必须选择。

我应该怎么做才能获得所需的输出? (比较标准)

我已经做了,

ArrayList<ArrayList<Integer>> ListOfList = new ArrayList<ArrayList<Integer>>();
for(int a = 0; a<ListOfList.size();a++)
{
if(a == ListOfList.size()-1) break;
for(int b = a+1; b<ListOfList.size();b++)
{
if((ListOfList.get(a).get(0) == ListOfList.get(b).get(0)) && (ListOfList.get(a).get(1) < ListOfList.get(b).get(1)))
{
startOffset = ListOfList.get(b).get(0);
endOffset = ListOfList.get(b).get(1);
}
else
{
startOffset = ListOfList.get(a).get(0);
endOffset = ListOfList.get(a).get(1);
}
}
}

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com