The man who shot dead two police officers and a civilian in the Belgian city of Liège had killed someone the night before the attacks, the country’s interior minister says.
Jan Jambon said the gunman, named as Benjamin Herman, had murdered a man – a former prisoner – he met while in jail.
Prosecutors say they are treating the attacks as “terrorist murder”.
The gunman also took a female cleaner hostage at a school before being killed by police.
Officials said the 31-year-old man had shouted “Allahu Akbar” (“God is greatest” in Arabic) several times during the attack.
He was let out from prison on temporary release on Monday where he had been serving time for theft and drug offences. Local media report that he may have been radicalised while in jail.
“There are signs he was radicalised in prison, but is it that radicalisation which drove him to commit these acts?” Mr Jambon said on RTL radio.
“It could have been because he had nothing to look forward to, because he also killed someone the night before, the guy’s psychology and the fact… he may have been on drugs.”
The shooting unfolded late on Tuesday morning near a cafe in the city centre.
Prosecutors said the man followed and “savagely” attacked two female police officers, aged 44 and 54. He stabbed them repeatedly from behind with a knife before taking a gun from them and opening fire.
He also shot dead a 22-year-old man who was sitting in the passenger seat of a parked car. He then walked to a nearby school, where he briefly took a member of staff hostage.
Armed police officers with shields, helmets and bulletproof vests then arrived at the scene and “intervened”.
The attacker began firing at the officers in an attempt to escape. Two officers were shot in the leg, leaving one officer in a serious condition.
Two other officers received injuries to their arms before the attacker was shot dead, prosecutors said.
Footage on social media showed people running to safety as several gunshots rang out. Children at the school were moved to safety.