在程序的设计过程中很多时候系统会要求对于某个类型在一个应用程序域中只出现一次,或者是因为性能的考虑,或者是由于逻辑的要求,总之是有这样的需求的存在,那在设计模式中正好有这么一种模式可以来满足这样的要求。 在C#中实现单例模式可以通过定义私有的构造函数来实现,当然,还可以通过定义静态的构造函数来实现。 ...
问题一:在一个整数数组中,除了一个数之外,其他的数出现的次数都是两次,求出现一次的数,要求时间复杂度尽可能的小。例如数组{1,2,2,3,3,6,6},出现一次的数是1. 从题目的描述可以看出,数组中只有一个数字出现了一次,其他的数字都出现两次,联想到异或运算的特点:任何一个数字和自己做异或运算的结 ...
分类:
编程语言 时间:
2017-11-30 19:22:03
阅读次数:
244
使用标记的方式,先遍历一遍B,出现一次就记录一次出现次数,然后遍历A,将记录的B的出现次数消去,最后检查一下记录的标记位是不是都消去了,总共需要检查三次,即进行三次O(n)的遍历。 然后总结出规律如果A的字符长度小于B的字符长度时,A不可能完全包含B,所以做一个优化处理,先检查一下长度,如果能够确定 ...
分类:
其他好文 时间:
2017-11-26 11:08:07
阅读次数:
143
集合是不同对象(称为成员)的无序聚集。 集合的两个重要特点:一、成员是无序的;二,每个成员都只在集合中出现一次。 集合是离散数学中的重要部分,离散数学与计算机科学之间有着很深的渊源。 在计算机科学中,我们使用集合来归类数据,尤其是当我们计划以后将其与其他数据相关联时。 C语言并没有原生支持集合,而是 ...
分类:
其他好文 时间:
2017-11-26 11:00:57
阅读次数:
200
一组数据中只有一个数字出现了一次。其他所有数字都是成对出现的。请找出这个数字。(使用位运算) >可以这么理解:如果两个数相等,它们异或之后的结果是0。而0与任何数异或都是该数本身。 (比如00000001^00000001结果是0。00000000^00000001=00000001) 那么将一组数 ...
分类:
编程语言 时间:
2017-11-11 19:49:53
阅读次数:
325
题目链接:https://leetcode.com/problems/single-number-ii/description/ 题目大意:给出一串数,每个数都出现三次,只有一个数只出现一次,把这个出现一次的数找出来。 法一:利用hashMap,空间换时间,但是好像也没怎么换到时间。代码如下(耗时1 ...
分类:
其他好文 时间:
2017-11-10 15:25:37
阅读次数:
179
使用一个Map维护数字出现的次数,使用一个链表维护只出现一次的数,使用一个变量记录是否找到过终止数字。 AC代码:public class Solution { /* * @param : a continuous stream of numbers * @param : a number * @r... ...
分类:
其他好文 时间:
2017-11-10 01:49:30
阅读次数:
303
最近使用mvel 2.2.0.Final,出现一次cpu跑满,经过线程栈分析,发现是误用WeakHashMap引起的。 故障现场: 看WeakHashMap源码: 线程在WeakHashMap的get方法里面出不来了,一直在while循环里面。 多线程并发get和put,fullgc或gc的时候可能 ...
分类:
其他好文 时间:
2017-11-04 20:49:46
阅读次数:
175
一、获取用户地理位置接口 开通了上报地理位置接口的公众号,用户在关注后进入公众号会话时,会弹框让用户确认是否允许公众号使用其地理位置。弹框只在关注后出现一次,用户以后可以在公众号详情页面进行操作。 用户同意上报地理位置后,每次进入公众号会话时,都会在进入时上报地理位置,上报地理位置以推送XML数据包 ...
分类:
微信 时间:
2017-11-03 15:30:46
阅读次数:
278
时间限制:1秒 空间限制:32768K 热度指数:106210 题目描述 时间限制:1秒 空间限制:32768K 热度指数:106210 在一个字符串(1<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置 import java.util.HashMap; p ...
分类:
编程语言 时间:
2017-11-01 21:45:37
阅读次数:
246