所以我想找到一个在列表中出现不止一次的数字。我想要第一个的位置。
示例:说我想要 3
s = [1,2,3,4,5,3,9,8] => s[2] appears first
Run Code Online (Sandbox Code Playgroud) 我知道HashMap不允许插入重复值,它用最新条目替换最后一个重复值。有没有办法打印在该put方法中发现的重复项?
我有以下代码片段:
for( int i = 0; i <= elements.length - 1; i++) {
nodeDBList = (NodeList) xPath.compile(elements[i]).evaluate(dbDocument, XPathConstants.NODESET);
for (int j = 0; j < nodeDBList.getLength(); j++) {
if(nodeDBList.item(j).getFirstChild() != null)
dbList.put(nodeDBList.item(j).getFirstChild().getNodeValue().toLowerCase().trim(),
nodeDBList.item(j).getNodeName().toLowerCase().trim());
}
}
Run Code Online (Sandbox Code Playgroud) 我是 R 新手。我有这个数据框:
TimeStamp IndexA IndexB Value
12:00:01 1 NA Windows
12:00:05 1 NA Windows
12:00:13 1 NA Windows
12:00:48 NA 1 Macintosh
12:01:30 NA 1 Macintosh
12:01:45 NA 1 Macintosh
12:02:01 2 NA Windows
12:02:13 2 NA Windows
Run Code Online (Sandbox Code Playgroud)
我想根据列IndexA和Value或IndexB和删除重复的行Value。所以,最后数据框应该是这样的:
TimeStamp IndexA IndexB Value
12:00:01 1 NA Windows
12:00:48 NA 1 Macintosh
12:02:01 2 NA Windows
Run Code Online (Sandbox Code Playgroud)
我该如何管理?
我正在尝试构建此函数,但我无法弄清楚如何停止该函数多次计算相同的重复项。有人能帮助我吗?
def count_duplicates(seq):
'''takes as argument a sequence and
returns the number of duplicate elements'''
fir = 0
sec = 1
count = 0
while fir < len(seq):
while sec < len(seq):
if seq[fir] == seq[sec]:
count = count + 1
sec = sec + 1
fir = fir + 1
sec = fir + 1
return count
Run Code Online (Sandbox Code Playgroud)
在: count_duplicates([-1,2,4,2,0,4,4])
出去: 4
它在这里失败,因为输出应该是3.
我正在使用 R 并且我想删除 data.frame 中的组合。独特的功能似乎无法完成这项工作。
a b c
1 1 4 A
2 2 3 B
3 1 5 C
4 4 1 A
5 5 1 C
6 3 2 B
7 3 2 E
Run Code Online (Sandbox Code Playgroud)
我想得到看起来像这样的东西,只保留 a 列和 b 列的一个组合(c 列是频率度量):
a b c
1 1 4 A
2 2 3 B
3 1 5 C
Run Code Online (Sandbox Code Playgroud)
非常感谢!
PS:问题的根源是返回此错误的 dcast 函数:聚合函数缺失:默认为长度(R reshape2 '聚合函数缺失:默认为长度')
我似乎只找到使用其他JS库从数组中删除重复项的方法,但是由于我正在研究Angular项目,因此我希望使用纯JS或Typescript来做到这一点。
我的问题是,我可能会得到一个具有重复条目的数组,例如:
data [0: {Id: 1, Definition: "House"},
1: {Id: 1, Definition: "House"}]
Run Code Online (Sandbox Code Playgroud)
我想过滤掉它,以便我只得到
data [0: {Id: 1, Definition: "House"}]
Run Code Online (Sandbox Code Playgroud)
我已经尝试过使用此方法,但仍会得到重复的条目
let uniqueArray = data.filter(function(item, pos) {
return data.indexOf(item) == pos;
})
Run Code Online (Sandbox Code Playgroud) 我有一份清单.列表中有一个列表.
[[-1, 0, 1], [-1, 2, -1], [0, 1, -1]],此列表的名称说明结果.结果列表包含重复的元素作为列表.[-1,0,1]和[0,1,-1]他们相同.我想创建一个不包含重复项的列表.所以列表结果变成[[-1,0,1],[-1,2,-1]]或[[-1,2,-1],[0,1,-1]].
我读到Hashmap不能存储重复的键但允许重复的值.所以为了删除重复,我正在尝试Hashmap.
但是在编写代码后运行良好没有错误.
HashMap<List<Integer>,Integer> final_sol=new HashMap<>();
for(int k1=0;k1<result.size();k1++){
final_sol.put(result.get(k1),k1);
}
System.out.println(final_sol);
Run Code Online (Sandbox Code Playgroud)
输出:
{[-1, 2, -1]=1, [0, 1, -1]=2, [-1, 0, 1]=0}
Run Code Online (Sandbox Code Playgroud)
编写完这些代码块后,我认为我的重复键只能显示唯一键.
然后我怎么能使用哈希地图使这个列表独一无二?不明白
当我使用树形图时,它不会编译并给出了错误.
我该如何编写触发器来查找重复值并将其删除。
CREATE TRIGGER [dbo].[deleteduplicate]
ON [dbo].[products]
AFTER INSERT
AS
BEGIN
declare @productname nvarchar(20),@prodcutid int
select productname=@productname,productid=@prodcutid from inserted
if exists (select productname=@productname from products)
begin
delete products
where @productname=productname
end
END
Run Code Online (Sandbox Code Playgroud) 我声明了一个PersonDetails具有以下三个属性的对象:
long id;
String residence;
Run Code Online (Sandbox Code Playgroud)
然后,我有一个全部填充ArrayList的PersonDetails对象:
List<PersonDetails> personDetailsList = new ArrayList<>();
Run Code Online (Sandbox Code Playgroud)
我需要遍历此列表,以PersonDetails通过匹配其residence属性来找出重复项。
Id | Residence
1 | a
2 | b
3 | a
4 | a
5 | b
6 | c
7 | c
8 | d
Run Code Online (Sandbox Code Playgroud)
我为完成此操作而创建的代码/算法如下,并使用nested for loop,这实际上效率很低:
List<PersonDetails> personDetailsList = new ArrayList<>();
for (int i = 0; i <= personDetailsList.size() - 1; i++) {
long personId = personDetailsList.get(i)
.getId();
String personResidence = personDetailsList.get(i)
.getResidence(); …Run Code Online (Sandbox Code Playgroud) 我正在尝试删除列表中的连续重复项;例如,给定列表[1,2,2,3,4],我需要的函数必须返回[1,3,4]。
但是,如果尾随重复项在列表中,例如在[1,2,3,4,4].
我也想用尽可能简单的术语来做,我该怎么做?
myCom :: Eq a => [a] -> [a]
myCom (x:y:ys@(z:_))
| x == y = myCom ys
| otherwise = x : myCom (y:ys)
myCom ys = ys
Run Code Online (Sandbox Code Playgroud) duplicates ×10
java ×3
list ×3
hashmap ×2
python ×2
r ×2
arraylist ×1
arrays ×1
collections ×1
combinations ×1
count ×1
dataframe ×1
haskell ×1
javascript ×1
performance ×1
position ×1
sequence ×1
sql ×1
sql-delete ×1
sql-server ×1
triggers ×1
typescript ×1
unique ×1