题意
统计两个整数转换成二进制位时位数不同的个数。
题目来源:https://leetcode.com/problems/hamming-distance/
标记难度:Easy
给定两个字符串 J 和 S,找出 J 中的字母出现在 S 中的次数。
题目来源:https://leetcode.com/problems/jewels-and-stones/
标记难度:Easy
数据结构和算法是编程中很重要的一部分,学习了这些知识之后,对解题思路有很大的帮助。
数据结构和算法也是其他技术的实现基础,要理解这些技术的实现原理就必须学习数据结构和算法。推荐学习书籍:
红黑树是一种平衡二叉查找树。它是为了解决普通二叉查找树的数据更新的过程中,复杂度退化的问题而产生的。红黑树的高度近似 log2n,所以它是近似平衡, 插入、删除、查找操作的时间复杂度都是O(logn)。
散列表Hash Table来源于数组,它借助散列函数对数组这种数据结构进行扩展,利用的是数组支持按照下标随机访问元素的特性。
需要存储在散列表中的数据我们称为键key,将键转化为数组下标的方法hash(key)称为散列函数,散列函数的计算结果称为散列值。
将数据存储在散列值对应的数组下标位置。
二分查找针对的是一个有序的数据集合,每次通过跟区间中间的元素对比,将待查找的区间缩小为之前的一半,直到找到要查找的元素,或者区间缩小为0。
时间复杂度是O(logn)
排序算法的选择与优化