Leet Code
文章平均质量分 82
linmiansheng
邮箱 :sheepjtgjfc163.com
展开
-
LeetCode(三)关于ThreeSum的实现
解题思路:1)将数组排序。2)对数组中每一个元素,假设其值为 a,则问题可化为在剩余的数组中(除了当前元素)找 target 为 -a 的TwoSum问题。3)由于数组是有序的,剩余的两个值一个比a小,在a的左边数组中,一个比a大,在a的右边数组中。4)指定数组中最小的数(即最左边的数)为第一个数 low ,指定数组中最大的数为第二个数 high。5)比较这两个数的和 sum 跟 target 的大小,如果 sum < target,表明 low 位置的值太小,则 low位置的数要往前移(low+原创 2014-04-17 17:52:02 · 4575 阅读 · 0 评论 -
LeetCode(二)关于TwoSum的实现
解题思路:1)复制一个数组出来,并将复制出来的数组进行从小到大的排序。2)指定排序后数组中的第一个数为第一个数,最后一个数为第二个数,可知第一个数是数组中最小的数,第二个数是数组中最大的数。3)比较两个数的和(sum)跟指定的整数(target)的大小,如果 sum 小于 target,由于第二数已经是最大的数了,则说明第一个数太小,所以第一个数向前移。反之,如果 sum 大于 target,由于第一个数已经是最小的数了,则说明第二个数太大,所以第二个数要往前移。4)重复进行第三步,直到两个数之后原创 2014-04-17 17:30:12 · 1340 阅读 · 0 评论 -
LeetCode(一)关于GrayCode的实现
在LeetCode上面有一道题,是关于Gray Code的实现的。GrayCode是这样一种编码:1 位Gray Code :012 位Gray Code:先添加一个镜像,如下:0110然后,在原来的编码前面添加“0”,在镜像码前面添加“1”,如下:00011110而从2位变化到3位的Gray Code的实现方式跟从1位变化到2位的过程是一样的, 都是先添加镜原创 2014-03-21 23:02:36 · 1642 阅读 · 0 评论