
算法
dm_ustc
微博:http://weibo.com/u/1769505225
展开
-
找出数组中只出现1次的数(各种变形)
位运算的应用。 一、数组中只有一个数出现1次,其他数字均出现两次。找出只出现1次的那一个数字。 任何数字和本身异或的结果为0。0和某数字的异或结果为其本身。所以数组中所有数字异或结果就是所求结果。代码如下。 int singleNumber1(vector& nums) { int ans=nums[0]; for(int i=1;i<nums.size();i++){ ans^=n原创 2015-06-08 15:28:48 · 1620 阅读 · 0 评论 -
2015年百度之星资格赛第一题分析
这个是今年百度之星资格赛的第一题,我一开始使用了暴力的方法做,发现发TLE,后来改用DP过了。 一、题目大意 有N个人,每个人有个位置i(),每个人位置都不同。对这N个人重新排位置,一种排位置规则规定第i个人换到第j个位置,其中。两种排位置规则中只要有一个人对应到了不同的位置,就称这两个排位置规则不同。用同一种排位置规则对这N个人重新排了两次位置,发现所有人和排位置之前的位置都一样。问有多少种原创 2015-05-25 15:48:14 · 950 阅读 · 0 评论 -
顺序二维数组的查找
1、题目 就是给定一个二维数组,数组里面从左到右,从上到下都是非降序。然后查找某个值是否存在。这个题目在剑指offer里面也有。不过这里用的是自己想出来的方法。 2、解法 这里涉及到二分查找肯定是想着使用二分查找。类比一维数组的二分查找,需要两个指针表示范围。但是这里是二维数组,所有想着使用四个指针表示范围。二分查找中肯定需要个中点,这个中心点自然而然选择矩形的中心点。在一维数组,中心点把数原创 2015-07-30 20:50:13 · 1059 阅读 · 0 评论