• 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 }
  • 相关阅读:
    Flink 双流合并之connect Demo2
    Flink 双流合并之connect Demo1
    Flink 双流合并Join
    Flink状态保存CheckPoint
    Flink状态之OperatorState
    Flink状态之AggregateState
    Flink状态之ReduceState
    Flink状态之MapState
    Flink状态之KeyedListState
    大数据框架环境安装与配置01--服务器基本设置
  • 原文地址:https://www.cnblogs.com/Afei-1123/p/11779726.html
Copyright © 2020-2023  润新知