美文网首页
算法第0天

算法第0天

作者: Blanchard | 来源:发表于2021-02-04 22:48 被阅读0次

    算法第0天

    太长不看,再挖一个坑慢慢填。

    今天这篇主要是准备环境,不涉及题目。
    对于用惯了 idea 插件的亲,请忽略。
    对于 old school vim(或者其他)编辑器偏好的,请继续看。

    安装配置 java

    这个?答案:(略)。

    PS: 可以试试 openjdk [狗头]

    配置 junit

    md %USERPROFILE%\src
    md %USERPROFILE%\src\alg2021\
    md %USERPROFILE%\src\alg2021\libs
    

    下载 jar 包 放进 %USERPROFILE%\src\alg2021\libs
    https://master.dl.sourceforge.net/project/junit/junit/4.3.1/junit-4.3.1.jar?viasf=1

    md %USERPROFILE%\src\alg2021\
    md %USERPROFILE%\src\alg2021\bin\
    pushd %USERPROFILE%\src\alg2021\bin\
    notepad javacc.bat
    

    javacc.bat 内容如下

    set name=%~n1
    set cpoption=-cp .;..\libs\junit-4.3.1.jar;%CLASSPATH%
    set JAVA_TOOL_OPTIONS=-Duser.language=en -Dfile.encoding=UTF-8
    javac %cpoption% %name%.java
    
    pushd %USERPROFILE%\src\alg2021\bin\
    notepad javarun.bat
    

    javarun.bat 内容如下

    set name=%~n1
    set cpoption=-cp .;..\libs\junit-4.3.1.jar;%CLASSPATH%
    set JAVA_TOOL_OPTIONS=-Duser.language=en -Dfile.encoding=UTF-8
    java %cpoption% %name%
    
    set PATH=%cd%;%PATH%
    

    生成 Solution 类文件

    md %USERPROFILE%\src\alg
    md %USERPROFILE%\src\alg2021\solution221\
    pushd %USERPROFILE%\src\alg2021\solution221\
    notepad Solution.java
    
    class Solution {
        public int maximalSquare(char[][] matrix) {
            int size = 0;
            return size;
        }
    }
    
    javacc.bat Solution.java
    

    生成 Test Case 文件

    md %USERPROFILE%\src\alg
    md %USERPROFILE%\src\alg2021\solution221\
    pushd %USERPROFILE%\src\alg2021\solution221\
    notepad SolutionTest.java
    
    import static org.junit.Assert.*;
    import org.junit.Test;
    
    public class SolutionTest{
        @Test
        public void test0(){
            char [][] prices={{'0'}};
            int expect=0;
            int actual=new Solution().maximalSquare(prices);
            assertEquals(expect,actual);
        }
        @Test
        public void test_faild(){
            int expect=0;
            int actual=1;
            assertEquals(expect,actual);
        }
    }
    
    javacc.bat SolutionTest.java
    

    生成 Test Runner 文件

    md %USERPROFILE%\src\alg2021\
    md %USERPROFILE%\src\alg2021\solution221\
    pushd %USERPROFILE%\src\alg2021\solution221\
    notepad SolutionRunner.java
    
    import org.junit.runner.JUnitCore;
    import org.junit.runner.Result;        
    import org.junit.runner.notification.Failure;
    
    public class SolutionRunner {
        public static void main(String[] args) {
            Result result = JUnitCore.runClasses(SolutionTest.class);
    
            for (Failure failure : result.getFailures()) {                            
                System.out.println(failure.toString());                    
            }        
            System.out.println("Result=="+result.wasSuccessful());
        }
    }
    
    set JAVA_TOOL_OPTIONS=-Duser.language=en -Dfile.encoding=UTF-8
    javacc.bat SolutionRunner.java
    javarun.bat SolutionRunner.java
    
    Picked up JAVA_TOOL_OPTIONS: -Duser.language=en -Dfile.encoding=UTF-8
    test_faild(SolutionTest): expected:<0> but was:<1>
    Result==false
    

    参考

    https://jdk.java.net/15 (openjdk 15, )
    junit 骨架参考地址???找不到了
    https://leetcode-cn.com/problems/two-sum/ (leetcode第一题)

    相关文章

      网友评论

          本文标题:算法第0天

          本文链接:https://www.haomeiwen.com/subject/fxeitltx.html