该文章介绍了如何解决NowCoder上的NC31题“第一个只出现一次的字符”。题目要求在给定的字符串中找到第一个只出现一次的字符,并返回其位置,若不存在则返回-1。文章提供了一种使用HashMap实现的解决方案,该方案首先遍历字符串,统计每个字符出现的次数,然后再次遍历字符串,查找第一个出现次数为1的字符。该方案满足题目要求的时间复杂度O(n)和空间复杂度O(n)。文章还提供了Java代码示例和两个测试用例,分别输入“google”和“aa”来演示该算法的正确性。