Why do some element symbols contain a single letter while others contain two letters?
There is a bit of history behind this.

In the website Development of the chemical symbols and the Periodic Table, it is stated that the Swedish chemist Berzelius updated Dalton's previous method.  He established a protocol for the symbols, still in use today:


  
  In the class which I call metalloids, I shall employ the initial letter only, even when this letter is common to the metalloid and some metal.
  In the class of metals, I shall distinguish those that have the same initials with another metal, or a metalloid, by writing the first two letters of the word.
  If the first two letters be common to two metals, I shall, in that case, add to the initial letter the first consonant which they have not in common:
  
  
  for example, S = sulphur, Si = silicium, Sb = stibium (antimony), Sn =
  stannum (tin), C = carbonicum, Co = cobaltum (cobalt), Cu = cuprum
  (copper), O = oxygen, Os = osmium, &amp;c


The basis of the symbols are the Latin word for the elements.

A notes as what Berzellius was refering to when he used the term 'metalloid', from the Wikipedia page Origin and use of the term metalloid:


  In 1811, Berzelius referred to nonmetallic elements as metalloids, in reference to their ability to form oxyanions.


.