I would have to contest that you didn't quite correct it then, eh? :p
You wrote an expectation that says "I expect @account to be an array of accounts that contains a single, specific instance of Account." Why are you looking for an array? Your controller code looks right - it assigns @account to be a new instance Account.
So you, you have two problems here. The one I described you can illustrate this way:
expected = [account]
puts "Expected class: #{expected.class}"
puts "Actual class: #{assigns(:account).class}"
expect( assigns(:account) ).to eq( expected )
The second is that you're comparing two new instances of Account, which will not be equal.
puts Account.new == Account.new
You probably just want to check what type of object was assigned to @account and that it is unpersisted. Something like (and my syntax might be off here):
actual = assigns(:account)
expect(actual).to be_a(Account)
expect(actual).to be_new_record