zoukankan      html  css  js  c++  java
  • akuna capital oa

    记得截图没过的test case啊!否则连复习改bug的证据都没了啊!!!

    其实也不一定非得要拿面试来测试,做做lc的contest,看看自己哪里不会,也是一样的效果

    注意是单选题还是多选题

    hashmap单词查重:实在是简单啊,为啥就只过了一半?

     = 1 和 2 的情况都会取出来。本来想给map写remove的,忘了怎么写了。唉。

    // Complete the missingWords function below.
        static List<String> missingWords(String s, String t) {
            //initialization
            HashMap<String, Integer> map = new HashMap<String, Integer>();
            //HashSet<String> set = new HashSet<String>();
            
            List<String> result = new ArrayList<String>();
            String[] s_words = s.split("\s+");
            String[] t_words = t.split("\s+");
            
            //add s
            for (int i = 0; i < s_words.length; i++) {
                map.put(s_words[i], 1);
            }
            
            //add t
            for (int j = 0; j < t_words.length; j++) {
                map.put(t_words[j], map.get(t_words[j]) + 1);
            }
            
            //return
            for (int i = 0; i < s_words.length; i++) {
                if (map.get(s_words[i]) == 1) {
                    result.add(s_words[i]);
                }
            }
            return result;
        }

    小孩跑步:实在是简单啊,为啥就只过了1/4?

    class Result {
    
        /*
         * Complete the 'getMostVisited' function below.
         *
         * The function is expected to return an INTEGER.
         * The function accepts following parameters:
         *  1. INTEGER n
         *  2. INTEGER_ARRAY sprints
         */
    
        public static int getMostVisited(int n, List<Integer> sprints) {
        // Write your code here
            //initialization
            int[] count_steps = new int[n];
            Arrays.fill(count_steps, 0);
            
            //for loop
            for (int pos = 0; pos < sprints.size() - 1; pos++) {
                //smaller or bigger
                if (sprints.get(pos) < sprints.get(pos + 1)) {
                    for (int i = sprints.get(pos); i < sprints.get(pos + 1); i++) {
                        count_steps[i]++;
                    }
                }else {
                    for (int i = sprints.get(pos + 1); i < sprints.get(pos); i++) {
                        count_steps[i]++;
                    }
                }
            }
            
            //get max
            int max = count_steps[0];
            int index = 0;
            for (int i = 0; i < n; i++) {
                if (count_steps[i] > max) {
                    max = count_steps[i];
                    index = i;
                } 
                
            }
            
            //return
            return index;
        }
    
    }

    给钱多的人卖股票,返回没买到股票的交易id。完全没思路,我ri。

    就是先sort出价,再sort时间戳,可惜我tm连怎么给list 排序都不会写……是用heap么?先复习这里,然后顺便想想吧。

    写一个Comparator<Object>,然后强制转换为比较数组。

    package labs;
    
    import java.util.*;    
    
    public class Example1 {    
        
        public static void sort(int[][] ob, final int[] order) {    
            Arrays.sort(ob, new Comparator<Object>() {    
                public int compare(Object o1, Object o2) {    
                    int[] one = (int[]) o1;    
                    int[] two = (int[]) o2;    
                    for (int i = 0; i < order.length; i++) {    
                        int k = order[i];    
                        if (one[k] > two[k]) {    
                            return 1;    
                        } else if (one[k] < two[k]) {    
                            return -1;    
                        } else {    
                            continue;  //如果按一条件比较结果相等,就使用第二个条件进行比较。  
                        }    
                    }    
                    return 0;    
                }    
            });   
        }    
        
        public static void main(String[] args) {    
            int array[][] = new int[][] {     
                    { 12, 34, 68, 32, 9, 12, 545 },     
                    { 34, 72, 82, 57, 56, 0, 213 },     
                    { 12, 34, 68, 32, 21, 945, 23 },     
                    { 91, 10, 3, 2354, 73, 34, 18 },    
                    { 12, 83, 189, 26, 27, 98, 33 },     
                    { 47, 23, 889, 24, 899, 23, 657 },     
                    { 12, 34, 68, 343, 878, 235, 768 },     
                    { 12, 34, 98, 56, 78, 12, 546 },     
                    { 26, 78, 2365, 78, 34, 256, 873 } };    
            sort(array, new int[] {0});   //先根据第一列比较,若相同则再比较第二列
            for (int i = 0; i < array.length; i++) {    
                for (int j = 0; j < array[i].length; j++) {    
                    System.out.print(array[i][j]);    
                    System.out.print("	");    
                }    
                System.out.println();    
            }    
        }    
    }

    先把heap背一下吧!别的基础数据结构,自己总结的那张纸,也要背。越熟练越好,贝多芬,只有脑子里的存货,考试才可以直接拿来用啊!临时查、临时理解是来不及的。

    措施:把cheetsheet和mmp里重要的东西赶紧复习一遍,不做题 光默写都可以,脑子里多存点东西。有面试就赶紧面,没有的话继续刷题。方法是:限时,强迫自己写暴力解 不能光是看了答案之后背出来,这样测不出自己的水平。

  • 相关阅读:
    AssemblyInfo.cs文件:包含程序版本、信息、版权的属性文件(转转转)
    简单日志
    Log4net 日志使用指南
    enter 键 触发搜索按钮
    给<a>标签增加href属性 ~~~ 转转
    最经典介绍ASP.NET抽象工厂模式概念及用法 ~~~转转转转
    sql server 中 like 中文不匹配问题解决就这么简单
    MySQL数据库like查询中文出现不准确的解决方法
    Unity属性(Attributes)
    拓展自定义编辑器窗口(EditorGUILayout类)
  • 原文地址:https://www.cnblogs.com/immiao0319/p/9615811.html
Copyright © 2011-2022 走看看