Hackerrank" Lonely Integer"有以下要求。 给定一组大小为N的整数,找到不重复的整数。
我是Bash noob。我发现bash有很多问题,例如,我何时使用while(())vs [[]],vs while []?
我在过去1小时内一直在调试这段代码......它花了太长时间,这个问题并不难。我使用最天真的方式来做问题,这种方式的运行时间为O(n ^ 2)
编译器抱怨
"solution.sh: line 7: [: 1: integer expression expected"
我试图将while循环更改为while(()),而[[]],而[],没有一个工作!!
我的主要问题是,有人可以向我指出为什么我的代码不起作用吗?!
hackerrank无法提供解决方案
谢谢!
read N
read line
declare -a array=( $line )
i=0
k=0
while [ $i -lt $N ]
do
isunique=1
j=0
while [ $j -lt $N ]
do
if [[ ${array[$i]} -eq ${array[$j]} ]] && [[ $i -ne $j ]]
then
isunique=0
break
fi
j=$((j+1))
done
if [ $isunique -eq 1 ]
then
unique[$k]=${array[$i]}
k=$((k+1))
fi
i=$((i+1))
done
echo ${unique[@]}
exit 0