11/1
Posted afei-1123
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了11/1相关的知识,希望对你有一定的参考价值。
Leetcode 80. Remove Duplicates from Sorted Array II
这里其实也可以用类似于 Remove Duplicates from Sorted Array 中的解法三的模版,由于这里最多允许两次重复,那么当前的数字 num 只要跟上上个覆盖位置的数字 nusm[i-2] 比较,若 num 较大,则绝不会出现第三个重复数字(前提是数组是有序的),这样的话根本不需要管 nums[i-1] 是否重复,只要将重复个数控制在2个以内就可以了,参见代码如下:
1 class Solution { 2 public int removeDuplicates(int[] nums) { 3 int i = 0; 4 for( int num : nums){ 5 if( i < 2 || num > nums[i-2]){ 6 nums[i++] = num; 7 } 8 } 9 return i; 10 } 11 }
299. Bulls and Cows
在处理不是bulls的位置时,我们看如果secret当前位置数字的映射值小于0,则表示其在guess中出现过,cows自增1,然后映射值加1,如果guess当前位置的数字的映射值大于0,则表示其在secret中出现过,cows自增1,然后映射值减1,参见代码如下:
1 class Solution { 2 public String getHint(String secret, String guess) { 3 int bulls =0; 4 int cows = 0; 5 int[] numbers = new int[10]; 6 for(int i = 0; i < secret.length(); i++){ 7 if(secret.charAt(i) == guess.charAt(i)) bulls++; 8 else{ 9 if(numbers[secret.charAt(i) - ‘0‘]++ < 0 ) cows++; 10 if(numbers[guess.charAt(i) - ‘0‘]-- > 0) cows++; 11 } 12 } 13 return bulls + "A" + cows + "B"; 14 } 15 }
以上是关于11/1的主要内容,如果未能解决你的问题,请参考以下文章