05 2020 档案
摘要:当你执行 git init 的时候,默认情况下 Git 就会为你创建 master 分支。 如果我们要手动创建一个分支。执行 git branch (branchname) 即可。 $ git branch testing $ git branch * master testing 现在我们可以看到
阅读全文
摘要:git diff 用来查看文件变化。 我们在暂存区的c.txt ccccc bbbbb aaaaa 如果在工作区的c.txt修改为 ccccc bbbbb 22222 aaa 11111 执行 git diff c.txt 红色标识的是减少的行,绿色标识新增的行。以此来对比文件的差异。 除了可以对比
阅读全文
摘要:我们可以用 rest来滚动git版本。使用log来查看本地仓库的版本 $ git log 会给出对此仓库的所有操作。如果日志比较多,就无法显示完全,linux 翻页的常规操作:空格:下一页,p 前一页,q 退出 。 我们可以美化一下 git log --pretty=oneline 则会在一行中打印
阅读全文
摘要:git commit 使用 git add 命令将想要快照的内容写入缓存区, 而执行 git commit 将缓存区内容添加到本地仓库中。 Git 为你的每一个提交都记录你的名字与电子邮箱地址,所以第一步需要配置用户名和邮箱地址。 注意,这里配置的用户名与邮箱,只是为了标识用户,不做任何验证作用。
阅读全文
摘要:git status git status 以查看在你上次提交之后是否有修改。 我演示该命令的时候加了 -s 参数,以获得简短的结果输出。如果没加该参数会详细输出内容: $ git status On branch master Initial commit Changes to be commit
阅读全文
摘要:git add git add 命令可将该文件添加到缓存,如我们添加以下两个文件: $ touch README $ touch hello.php $ ls README hello.php $ git status -s ?? README ?? hello.php $ 接下来我们执行 git
阅读全文
摘要:git init 用 git init 在目录中创建新的 Git 仓库。 你可以在任何时候、任何目录中这么做,完全是本地化的。 在目录中执行 git init,就可以创建一个 Git 仓库了。比如我们创建 runoob 项目: $ mkdir runoob $ cd runoob/ $ git in
阅读全文
摘要:在一个数组中,不能选择连续的2个数,问最大可以取值是多少。 这里有两种dp的思路: dp[i]表示抢劫第i间房屋,最多可以抢到的钱。它有两个来源 dp[i-2],dp[i-3]。我们取其中大的值。 有的同学可能要问了,为什么不考虑dp[i-4] dp[i-5]这些更往前的房子? 因为i-5, i-4
阅读全文
摘要:这种题算是常规题了,思路也比较固定:利用栈,扫一遍就可以了。直接上代码。 ublic static String decodeString(String s) { char[] sC = s.toCharArray(); int len = s.length(); int indx = 0; cha
阅读全文
摘要:使用gzip压缩与解压缩文件 使用bzip2压缩与解压缩
阅读全文
摘要:从一个数组中,找出所有能整除K的非空的连续的子数组。 这个很容易想到前缀和+哈希表优化。这里会用到一个同余定理:如果两个数对K取模余数相同,则两数之差可以整除K。 public static int subarraysDivByK3(int[] A, int K) { int lenA = A.le
阅读全文
摘要:在串s中找出包含串t的所有字符的最小子串。 之前做了一些前缀和的题。想到用前缀和做: 统计第k个字符在第i个位置出现的个数:pre[i][k] .则可以用 前缀和遍历所有的子串组合。然后我们及时的减支 public String minWindow(String s, String t) { cha
阅读全文
摘要:原题点这里 求一个数的幂。我们看一下数据范围。很容易就想到Math.pow() public static double myPow(double x, int n) { return Math.pow(x,n); } View Code 哈哈,其实这样有投机的成分。正经的解法:快速幂 我们以 x^
阅读全文
摘要:给定一个字符串,寻找一个最长子字符串,使得包含的原因字母都是偶数个。 我们很容易想到,暴力枚举。然后通过一点点巧妙的减支,可以通过。 首先扫一遍字符串,统计每个字符出现的次数。实际上我们只关注元音字母,不过直接全部统计比较方便(我估计时间上也会快一点) 然后我们枚举 i ~ j ,i 从0 到 le
阅读全文
摘要:原题点这里 知识点:List的复制:目的List的大小必须与源List的大小一致 List tmp = Arrays.asList(new Object[ans.size()]); Collections.copy(tmp,ans); JDK8 以后,只有在放入数据后,List中存储数据的数组才会初
阅读全文
摘要:原题点这里 给定一个非空字符串,判断是否可以通过删除一个字符串,使得剩余的字符串为回文串。 很容易想到双指针,当可以删除时,尝试删除,然后递归。 public static boolean validSub(String s,int left,int right,int del){ if(del>1
阅读全文
摘要:在一个数组中,找到和为K的连续子数组的个数。 可以很自然的想到枚举所有子数组组合。复杂度为n^2 public int subarraySum(int[] nums, int k) { int len = nums.length; int ans=0; for(int i=0;i<len;i++){
阅读全文
摘要:可以显示文本信息 ListView 的使用方法可以概括为: 1、构造数据 2、获取Adapter 3、Adapter绑定ListView ListView lv_main = findViewById(R.id.lv_main); String [] data = new String[100];
阅读全文
摘要:原题点这里 统计只出现一次的数字 这个很容易想到用 map或set做。 public int singleNumber(int[] nums) { int n = nums.length; HashSet<Integer> record = new HashSet<>(); for(int i=0;
阅读全文
摘要:使用 > 覆盖到文件 使用 >> 追加到文件 Shell 的 echo 指令与 PHP 的 echo 指令类似,都是用于字符串的输出。命令格式: echo string 您可以使用echo实现更复杂的输出格式控制。 1.显示普通字符串: echo "It is a test" 这里的双引号完全可以省
阅读全文
摘要:cat 命令用于连接文件并打印到标准输出设备上。 使用权限 所有使用者 语法格式 cat [-AbeEnstTuv] [--help] [--version] fileName 参数说明: -n 或 --number:由 1 开始对所有输出的行数编号。 -b 或 --number-nonblank:
阅读全文
摘要:Linux more 命令类似 cat ,不过会以一页一页的形式显示,更方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示,而且还有搜寻字串的功能(与 vi 相似),使用中的说明文件,请按 h 。 语法 more [-dlfpcsu]
阅读全文
摘要:语法 tree [-aACdDfFgilnNpqstux][-I <范本样式>][-P <范本样式>][目录...] 参数说明: -a 显示所有文件和目录。 -A 使用ASNI绘图字符显示树状图而非以ASCII字符组合。 -C 在文件和目录清单加上色彩,便于区分各种类型。 -d 显示目录名称而非内容
阅读全文
摘要:原题点这里 给一个数组,一个目标值,在数组中选出3个数,使其和最接近目标值。 受到15题的启发,使用双指针解决。 public static int threeSumClosest(int[] nums, int target) { int len = nums.length; Arrays.sor
阅读全文
摘要:原题点这里 取三个数,使和为0,输出所有的组合。各个组合之间不能重复。 这是个稍微复杂一点的逻辑题。它要求所有的组合不能重复。我们很容易想到三个循环嵌套,分别取三个数,判断加和是否为0,如果为0,判断是否重复。其复杂度为n^3. public static List<List<Integer>> t
阅读全文
摘要:gradle默认会在当前用户文件夹下,新建.gradle文件夹,保存下载的文件。 我们可以增加系统环境变量来修改默认位置: GRADLE_USER_HOME
阅读全文
摘要:gradle 配置 在 build.gradle 文件中加入以下代码: allprojects { repositories { maven { url 'https://maven.aliyun.com/repository/public/' } mavenLocal() mavenCentral
阅读全文
摘要:<?xml version="1.0" encoding="utf-8"?> <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" and
阅读全文
摘要:<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent"
阅读全文
摘要:知识点: 1、在垂直布局中,我们可以指定 layout_weight的大小,来平均分配view占据的屏幕大小,这时候要把height设置为0dp(水平的设置宽度为0) 2、gravity控制子视图的显示位置 <EditText android:layout_width="match_parent"
阅读全文
摘要:理解UI事件 Menu /* OptionMenu 1. 如何触发Menu的显示? 点击menu键 2. 如何向Menu中添加MenuItem? 重写onCreateOptionMenu() menu.add()或者加载菜单文件 3. 选择某个MenuItem时如何响应? 重写onOptionsIt
阅读全文
摘要://创建日历对象 Calendar calendar = Calendar.getInstance(); //得到当前的年月日 final int year = calendar.get(Calendar.YEAR);//得到年份 final int monthOfYear = calendar.g
阅读全文