1. 1 比特与 2 比特字符
    int n = bits.length;
    int i = 0; 因为,如果最后一个字符必须是一个一比特字符,那么,一定可以跳到最会一个位置。也就是n-1这个位置。所以不能遍历到这个位置
    while(i < n – 1) {如果最后一个位置,不是单独的一位,那么一定是会跳到n这个位置的
    i += bits[i] + 1;不管是11还是10都是以1为开头的两位,跳两步与跳一步的情况
    }

714. 买卖股票的最佳时机含手续费

b[0] = -prices[0];
for(int i = 1; i < n; i++) {
b[i] = Math.max(b[i – 1], s[i – 1] – prices[i]);持有
s[i] = Math.max(s[i – 1], b[i – 1] + prices[i] – fee);未持有
}


713. 乘积小于 K 的子数组

while(r < nums.length) {
sum = nums[r];
while(sum >= k) {**//attention因为可能
了一个不得了的数字**
sum /= nums[l];
l++;
}
ans += r – l + 1;
r++;
}


697. 数组的度

Map<Integer, int[]> map = new HashMap<>();
map.put(nums[i], new int[]{次数, 起始位置, 终止位置});
if(numMax < cur[0]) {找到出现次数最多的元素
numMax = cur[0];
lenMin = cur[2] – cur[1] + 1;
}else if(numMax == cur[0])可以等于,但不能小于
{
if(lenMin > (cur[2] – cur[1] + 1)) {更新最小值,因为起始值舍了0所以判断一下
lenMin = cur[2] – cur[1] + 1;
}

        }

695. 岛屿的最大面积

public int dfs(int[][] grid, int i, int j) {
if(i < 0 || i >= grid.length || j < 0 || j >= grid[0].length || grid[i][j] == 0) {越界了或者遇到水,直接返回0
return 0;
}
grid[i][j] = 0;//防止反复横跳;也不需要恢复,因为一块遍历过,就不需要再遍历了。都说了是一块;
int count = 1;
count += dfs(grid, i – 1, j);
count += dfs(grid, i + 1, j);
count += dfs(grid, i, j – 1);
count += dfs(grid, i, j + 1);
//grid[i][j] = 1;attention错误
return count;
}


661. 图片平滑器

for(int i = 0; i < r; i++) {
for(int j = 0; j < c; j++) {
int num = 0, sum = 0;开始求这个位置
for(int x = i – 1; x <= i + 1; x++) {(i – 1, j – 1)-(i + 1, j + 1)
for(int y = j – 1; y <= j + 1; y++) {
if( x >= 0 && y >= 0 && x < r && y < c) {
num++;
sum += img[x][y];
}
}
}
ans[i][j] = sum / num;
}
}

原文地址:http://www.cnblogs.com/xtag/p/16860700.html

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长! 2. 分享目的仅供大家学习和交流,请务用于商业用途! 3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入! 4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解! 5. 如有链接无法下载、失效或广告,请联系管理员处理! 6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需! 7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员! 8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载 声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性