精华内容
下载资源
问答
  • LeetCode & 剑指offer刷题】熟悉OJ平台1:OJ术语LeetCode & 剑指offer 刷题笔记】目录(持续更新中...) 本文转载自博客:https://blog.csdn.net/JNingWei/article/details/78425824 博客...

    【LeetCode & 剑指offer刷题】熟悉OJ平台1:OJ术语

    【LeetCode & 剑指offer 刷题笔记】目录(持续更新中...)

    本文转载自博客:https://blog.csdn.net/JNingWei/article/details/78425824

    博客内容如下:

     

    OJ术语: AC、WA、TLE、OLE、MLE、RE、PE、CE

    起因

    看到一些术语不清楚是什么意思,上网查阅相关资料后,归纳如下。

    汇总

    简写 全称 中文称谓
    OJ Online Judge 在线判题系统
    AC Accepted 通过
    WA Wrong Answer 答案错误
    TLE Time Limit Exceed 超时
    OLE Output Limit Exceed 超过输出限制
    MLE Memory Limit Exceed 超内存
    RE Runtime Error 运行时错误
    PE Presentation Error 格式错误
    CE Compile Error 无法编译


    posted @ 2019-01-06 17:37 wikiwen 阅读(...) 评论(...) 编辑 收藏

    展开全文
  • leetcode T29

    2020-03-25 21:04:38
    package com.david.leetcode; public class T29 { class Solution { /* 解题思路:这题是除法,所以先普及下除法术语 * 商,公式是:(被除数-余数)÷除数=商,记作:被除数÷除数=商...余数,是一种数学...
    package com.david.leetcode;
    
    public class T29 {
    	class Solution {
    		  
    	     /* 解题思路:这题是除法,所以先普及下除法术语
    	     * 商,公式是:(被除数-余数)÷除数=商,记作:被除数÷除数=商...余数,是一种数学术语。
    	     * 换言之商即为被除数是除数的几倍
    	     * 要求商,我们首先想到的是减法,能被减多少次(被除数减去多少次除数),那么商就为多少,但是明显减法的效率太低
    	     * 那么我们可以用位移法,因为计算机在做位移时效率特别高,向左移1相当于乘以2,向右位移1相当于除以2
    	     * 我们可以把一个dividend(被除数)先除以2^n(右移n位),n最初为31,不断减小n去试探,当某个n满足dividend/2^n>=divisor时,
    	     * 表示我们找到了一个足够大的数,这个数*divisor是不大于dividend的,所以我们就可以减去2^n个divisor,以此类推
    	     * 我们可以以100/3为例
    	     * 2^n是1,2,4,8...2^31这种数,当n为31时,这个数特别大,100/2^n是一个很小的数,肯定是小于3的,所以循环下来,
    	     * 当n=5时,100/32=3, 刚好是大于等于3的,这时我们将100-32*3=4,也就是减去了32个3,接下来我们再处理4,同样手法可以再减去一个3
    	     * 所以一共是减去了33个3,所以商就是33
    	     * 这其中得处理一些特殊的数,比如divisor是不能为0的,Integer.MIN_VALUE和Integer.MAX_VALUE
    	     */
    	    public int divide(int dividend, int divisor) {
    	    if(dividend==0) return 0;
    	    //因为Integer.MIN_VALUE=-2^31,其除以-1之后应为2^31,但是int能表示的最大整数为2^31-1此时会溢出按题目要求直接返回Integer.MAX_VALUE(2^31-1),反之则可以
    	    if(dividend==Integer.MIN_VALUE&&divisor==-1) return Integer.MAX_VALUE;
    	    //记录被除数与除数的符号是否相同(符号相异的两个数异或结果最高位(符号位)为1)    
    	    boolean sign = (dividend^divisor)<0;
    	    //只取数值魏进行运算,这是用long 而不用int也是因为上面那个原因(Integer.MIN_VALUE=-2^31,而int能表示的最大整数只为2^31-1,所以不能用int来表示两个数的无符号数(数值位))
    	    long did = Math.abs((long)dividend);
    	    long dis = Math.abs((long)divisor);
    	    int res = 0;
    	    //注意这里i可以取0,因为可以是一倍(2^0=1),
    	    for(int i=31;i>=0;i--){
    	        //按上面公式进行计算
    	        if((did>>i)>=dis){
    	            did-=dis<<i;
    	            res+=1<<i;
    	        }
    	    }
    	    return sign ? -res:res;
    	}}
    }
    
    
    展开全文
  • LeetCode原题Count and Say

    2019-04-09 14:51:18
    Leetcode原题Count and Say count-and-say序列是整数序列,前五个术语如下: 1. 1 2. 11 3. 21 1211 5. 111221 1被读作“1”或11。 11被读作“两个1”或21。 21被读作“一个2,然后一个1”或1211。 给定整数n,...
  • leetcode29 两数相除

    2019-04-26 21:32:01
    * 解题思路:这题是除法,所以先普及下除法术语 * 商,公式是:(被除数-余数)÷除数=商,记作:被除数÷除数=商...余数,是一种数学术语。 * 在一个除法算式里,被除数、余数、除数和商的关系为:(被除数-余数)÷...

    这道题参考了评论中的做法:

    /**
         * 解题思路:这题是除法,所以先普及下除法术语
         * 商,公式是:(被除数-余数)÷除数=商,记作:被除数÷除数=商...余数,是一种数学术语。
         * 在一个除法算式里,被除数、余数、除数和商的关系为:(被除数-余数)÷除数=商,记作:被除数÷除数=商...余数,
         * 进而推导得出:商×除数+余数=被除数。
         *
         * 要求商,我们首先想到的是减法,能被减多少次,那么商就为多少,但是明显减法的效率太低
         *
         * 那么我们可以用位移法,因为计算机在做位移时效率特别高,向左移1相当于乘以2,向右位移1相当于除以2
         *
         * 我们可以把一个dividend(被除数)先除以2^n,n最初为31,不断减小n去试探,当某个n满足dividend/2^n>=divisor时,
         *
         * 表示我们找到了一个足够大的数,这个数*divisor是不大于dividend的,所以我们就可以减去2^n个divisor,以此类推
         *
         * 我们可以以100/3为例
         *
         * 2^n是1,2,4,8...2^31这种数,当n为31时,这个数特别大,100/2^n是一个很小的数,肯定是小于3的,所以循环下来,
         *
         * 当n=5时,100/32=3, 刚好是大于等于3的,这时我们将100-32*3=4,也就是减去了32个3,接下来我们再处理4,同样手法可以再减去一个3
         *
         * 所以一共是减去了33个3,所以商就是33
         *
         * 这其中得处理一些特殊的数,比如divisor是不能为0的,Integer.MIN_VALUE和Integer.MAX_VALUE
         *
         */
    class Solution(object):
        def divide(self, dividend, divisor):
            """
            :type dividend: int
            :type divisor: int
            :rtype: int
            """
            '''
            使用减法会超时
            '''
            if dividend==0:
                return 0
    
            if (dividend>0)==(divisor>0):
                need_reverse=False
            else:
                need_reverse=True
            dividend=abs(dividend)
            divisor=abs(divisor)
    
            result=0
            for i in range(31,-1,-1):
                if (dividend>>i)>=divisor:
                    result+=1<<i
                    dividend-=divisor<<i
    
            if need_reverse:
                result=0-result
            result=min(2147483647,result)
            return result

     

    展开全文
  • LeetCode count and say 38

    2018-07-29 12:36:47
    count-and-say序列是整数序列,前五个术语如下: 1. 1 2. 11 3. 21 4. 1211 5. 111221 1作为"one 1"或读出11。11作为"two 1s"或读出21。21被读出"one 2,然后one 1"或1211。 给定...

    count-and-say序列是整数序列,前五个术语如下:

    1. 1
    2. 11
    3. 21
    4. 1211
    5. 111221

    1作为"one 1"或读出1111作为"two 1s"或读出2121被读出"one 2,然后one 1"1211

    给定整数n,生成count-and-say序列的第n项。

    注意:整数序列的每个术语将表示为一个字符串。

    例1:

    输入: 1
     输出: “1”

    例2:

    输入: 4
     输出: “1211”

     

    思路

    主要为计数问题

    1.如果n == 1时返回“1”即可

    2.判断前一个字符串的长度,根据字符串的长度,记录有几个1,几个2等等【递归】

    Eg:1211

    求n = 5时,已经知道了n= 4时的1211

    判断str[j] == str[j + 1]

    记录一共有一个1,一个2,两个1,分别放到temp里,再用拼接技术拼接起来即可

    
    #define max 10000
    char str[max + 5],trans[max + 5];
    char* countAndSay(int n) {
        int count = 1; 
        char temp[3];
        strcpy(str, "1");
        strcpy(trans, "");
        for(int i = 2; i <= n; i++){
            int l = strlen(str);
            for(int j = 0; j < l; j++){
                if(str[j] == str[j + 1]){
                    count++;
                }else{
                    temp[0] = count + '0';
                    temp[1] = str[j];
                    temp[2] = '\0';
                    strcat(trans, temp);
                    count = 1;
                }
            }
            strcpy(str, trans);
            strcpy(trans, "");
        }
        return str;
    }

     

    展开全文
  • LeetCode - 二分查找

    2019-09-11 17:20:12
    二分查找中使用的术语: 目标Target --> 你要找的值 索引 Index --> 你要查找的当前位置 左、右指示符Left,Right --> 我们用来维持查找空间的指标 中间指示符Mid --> 我们用来应用条件来确定我们...
  • iOS LeetCode☞两数相除

    2021-04-16 15:01:45
    给定两个整数,被除数 dividend 和除数 divisor。...这题是除法,先普及一下除法术语 商,公式是: (被除数 - 余数) / 除数 = 商,记做:被除数 / 除数 = 商...余数,是一种数学术语,进而推导出:商 *
  • LeetCode 29. 两数相除

    2020-09-13 20:56:27
    * 解题思路:这题是除法,所以先普及下除法术语 * 商,公式是:(被除数-余数)÷除数=商,记作:被除数÷除数=商...余数,是一种数学术语。 * 在一个除法算式里,被除数、余数、除数和商的关系为:(被除数-余数)÷...
  • leetcode29:两数相除

    2019-04-28 22:07:06
    解题思路:这题是除法,所以先普及下除法术语 商,公式是:(被除数-余数)÷除数=商,记作:被除数÷除数=商…余数,是一种数学术语。 在一个除法算式里,被除数、余数、除数和商的关系为:(被除数-余数)÷除数=商,...
  • LeetCode 二分查找小结

    2020-04-11 23:37:15
    二分查找中使用的术语: 目标 Target —— 你要查找的值 索引 Index —— 你要查找的当前位置 左、右指示符 Left,Right —— 我们用来维持查找空间的指标 中间指示符 Mid —— 我们用来应用条件来确定我们应该向左...
  • * 解题思路:这题是除法,所以先普及下除法术语 * 商,公式是:(被除数-余数)÷除数=商,记作:被除数÷除数=商...余数,是一种数学术语。 * 在一个除法算式里,被除数、余数、除数和商的关系为:(被除数-余数)÷...
  • 二分查找中使用的术语: 目标 Target —— 你要查找的值 索引 Index —— 你要查找的当前位置 左、右指示符 Left,Right —— 我们用来维持查找空间的指标 中间指示符 Mid —— 我们用来应用条件来确定我们应该向...
  • 二分查找中使用的术语: 目标 Target —— 你要查找的值 索引 Index —— 你要查找的当前位置 左、右指示符 Left,Right —— 我们用来维持查找空间的指标 中间指示符 Mid —— 我们用来应用条件来确定我们应该向左...
  • 今天介绍的是LeetCode算法题中Easy级别的第12题(顺位题号是38)。count-and-say序列是整数序列,前五个术语如下: 1 11 21 1211 111221 1被读作“一个一”或者11。第二项的值是第一项的读法。 11被读作...
  • leetcode 104 :二叉树的最大深度 要做这题,还是得先了解下二叉树,come on! 二叉树是树的一种,所有我们从树的基本概念了解起。 树的基本概念 计算机科学中的树是长成这样的: 一、树的术语 1.节点的度: 一个...
  •         各位朋友好久不见~ ...因为刚结束考研复试,还没怎么写代码,前段时间写了点儿题目,也...如果是没见过这个名字的人,会比较陌生哈,我们常用的专业术语就是前缀表达式
  • leetcode刷数据库题目时,凡是中等难度及困难难度的题目必涉及到SQL窗口函数的应用。参考网上的相关知识,SQL窗口函数的内容点总结一下。数据库采用的是MySQL数据库。 窗口函数的介绍: 窗口函数作用于一个数据...
  • 动态规划 ...实际上,动态规划是一种常见的「算法设计技巧」,并没有什么高深莫测,至于各种高大上的术语,那是吓唬别人用的,只要你亲自体验几把,这些名词的含义其实显而易见,再简单不过了。...
  • LeetCode基础-图-有向图

    2017-11-08 09:15:11
    **术语**:出度:在有向图中,一个顶点的出度为该顶点指出的边的总数。 入度:在有向图中,一个顶点的出度为指向该顶点的边的总数。 表示:用 v->w 来表示 一条由 v 指向 w 的边。v 与 w 也可能是双向的。类的代码...
  • LeetCode基础-图-无向图

    千次阅读 2017-11-05 14:44:34
    无向图:Undirected Graphs图由 边(Edge) ...图相关术语特殊的图: 自环:有一条边连接一个顶点和其自身。英文称作:self-loop。 平行边:有两条边连接同样的同个顶点。英文称作:parallel。 多重图:含有平行边的图
  • 二分查找中使用的术语: 目标 Target —— 你要查找的值 索引 Index —— 你要查找的当前位置 左、右指示符 Left,Right —— 我们用来维持查找空间的指标 中间指示符 Mid —— 我们用来应用条件来确定我们应该...
  • 来自Leecode上的一道easy题目《房屋...用编程术语描述即是:给定一个数组,里面存储的非负整数,代表相应房间的珠宝数量,按照不能访问相邻元素的原则,求取访问的元素之和的最大值。比如测例:输入[1,2,3,10,5],输出
  • LeetCode 208. 实现Trie(前缀树) 思路 这是一道Trie树的标程题,按照Trie树的构建标准写即可,引用Wiki的一段 在计算机科学中,trie,又称前缀树或字典树,是一种有序树,用于保存关联数组,其中的键通常是字符串。...
  • 相关术语 树中每个元素都叫做节点,位于树顶部的节点叫做根节点,没有父节点,节点分祖先节点、后代节点 深度:节点祖先节点的个数 树的高度:最大的节点的深度 二叉搜索树:二叉树的一种,但是左侧子节点值比父节点...
  • 二分查找中使用的术语:目标 Target —— 你要查找的值索引 Index —— 你要查找的当前位置左、右指示符 Left,Right —— 我们用来维持查找空间的指标中间指示符 Mid —— 我们用来应用条件来确定我们应该向左查找...
  • 二分查找中使用的术语:目标 Target —— 你要查找的值索引 Index —— 你要查找的当前位置左、右指示符 Left,Right —— 我们用来维持查找空间的指标中间指示符 Mid —— 我们用来应用条件来确定我们应该向左查找...
  • 我一直说自己的 Python 编码是入门水平,一来是自己摸索着学、并没有接触很深层的专业练习,二来是接触的多是入门级别的问题或练习、对于很多术语及算法都是一头雾水的。这种情况如果我就是业余来学 Python 玩完全...
  • 二分法 什么是二分查找 二分查找也称折半查找(Binary Search),它是一种效率较高的查找方法,前提是数据结构必须先排好序,可以在数据...二分查找中的经常使用的术语: 目标 Target:你要查找的值 索引...

空空如也

空空如也

1 2 3
收藏数 41
精华内容 16
关键字:

leetcode术语