zoukankan      html  css  js  c++  java
  • Apple screening carlos白人 头晕脑胀的三道简单算法题

    find index without indexOf()
    
    //foor loop in the collection
    
    for (int i = 0; i < s.length(); i++) {
      for (int j = i + 1; j < s.length() - i; j++) {
        //get substring from (i,j)
        String s = s.substring(i,j);
        if (s.equals(target)){
          rerturn i;
        }
        }
      }
    
    
    for (int i = 0; i < s.length() - target.length(); i++) {
      String str = s.substring(i, i + target.length());
      if (s.equals(target)){
          rerturn i;
      }
    }
    
    sort
    public String sort(String input, String order) {
      //count characters from the input string
      int count[] = new int[26];
      for (int i = 0; i < input.length(); i++) {
        count[input[i] - 'a']++;
      }
    
      //sort according to 'order' string, add to the result char array
      int index = 0;
      //char[] result = new char[26];
      StringBuilder resultSb = new StringBuilder();
    
      for (int j = 0; j < order.length(); j++) {
        for (int k = 0; k < count[order.charAt(j) - 'a']; k++) {
          //result[index++] = order.charAt(j);
          resultSb.append(order.charAt(j));
        }
      }
    
       //add a comparasion between result string and input string, append extra input string if necessary
       //change the input string to char[] for compare
       char[] inputChars = input.toCharArray();
       for (char c : inputChars) {
          if (!resultSb.toString().contains(c)) {
            resultSb.append(c);
          }
       }
    
       return resultSb.toString();
    
    }
    
    //2 for loops
    //1 for loop + hashmap
    
    public boolean findCombination(int[] nums, int target) {
      HashMap<Integer, Integer> map = new HashMap<Integer, Integer>();
      int res = false;
    
      //judge wheter the 'target - nums[i]' is key already, if yes, return true, if no, add 'nums[i]' itself as a new key
      for (int i = 0; i < nums.length; i++) {
        if (map.containsKey(target - nums[i]))
          return true;
        else map.put(nums[i]);
      }
    
      return res;
    }

     

  • 相关阅读:
    NYOJ 158 省赛来了(变相组合数)
    NYOJ 111 分数加减法
    NYOJ 14 会场安排问题 (贪心)
    POJ 3903 Stock Exchange(LIS)
    NYOJ 456 邮票分你一半(01背包)
    HDU 4521 小明系列问题——小明序列 (LIS加强版)
    CSU 1120 病毒(经典模板例题:最长公共递增子序列)
    挑战程序设计竞赛里面的几道深度优先搜索
    2009 Multi-University Training Contest 4
    USACO sec1.1
  • 原文地址:https://www.cnblogs.com/immiao0319/p/15155037.html
Copyright © 2011-2022 走看看