最近遇到一些奇葩的题,主要是数据结构和算法,有些思路写在这留个纪念。
有一万个无序的10位数字的QQ号怎么进行有序存储,
方便它记录输出,增、删、改、查?
思路:定义一个多维数组(10维),所有元素为0,QQ号的数字拆解为多维数组的下标,将其下标对应的元素修改为1。输出也只是判断元素为1的下标输出,其他类似。
对1到100的数字无序输出,最快速度的思路(时间复杂度为最低)
思路:定义一个数组,长度100书记,元素一一对应为下标,随机输出下标,将输出后的下标对应的元素移到数字最前或者最后,随机取值范围依次变小(移到前就:1到100、2到 100,移到后同理)
对1到100的数字无序输出,最小内存消耗的思路(空间复杂度为最低)
思路:利用哈希算法