a. An oxygen-filled balloon is not able to float in the air, because the oxygen inside the balloon is of the same density, that is, the same "weight" as the oxygen outside the balloon and present in the atmosphere. The balloon can only float if the gas inside it is less dense than atmospheric oxygen. Helium gas is less dense than atmospheric gas, so if a balloon is filled with helium gas, that balloon will be able to float because of the difference in density.
b. The ship is able to float in the water because its steel construction is hollow and full of air. This makes the average density of this ship less than the density of water, which makes the ship lighter than water and for this reason, this ship is able to float. In addition, the ship is partially immersed, allowing the weight of the ship on the water to counteract the buoyant force that the water promotes on the ship. Weight and buoyant are two opposing forces that keep the ship afloat.