JZ62孩子们的游戏(圆圈中最后剩下的数) 题目 每年六一儿童节,牛客都会准备一些小礼物和小游戏去看望孤儿院的孩子们。 其中,有个游戏是这样的:首先,让n个小朋友们围成一个大圈,小朋友们的编号是0n-1。 然后,随机指定一个数m,让编号为0的小朋友开始报数。每次喊到m-1的那个小朋友要出列唱首歌, 然后可以在礼品箱中任意的挑选礼物,并且不再回到圈中,从他的下一个小朋友开始, 继续0...m-1报数....这样下去....直到剩下最后一个小朋友,可以不用表演,并且拿到牛客礼品,请你试着想下, 哪个小朋友会得到这份礼品呢? 方法1暴力算法 思路 算法实现 用数组模拟循环列表,从0开始喊到m个数后...

  23VLniqT6Swj   2023年11月01日   43   0   0 Java

JZ64求1+2+3+...+n 题目 求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。 方法位运算 思路 算法实现从1连加到n,不能使用城乘除法,那就只能相加了。一个一个加,但是循环需要判断什么时候截止,我们又不能用关键词,这就难办了。需要判断递归停止的条件,即到0时停止递归,不能用if、switch、?:等操作,我们可以采用与运算的短路操作:在函数中,如果与运算成立,则继续,否则终止函数直接返回false。 具体做法: step1:用与运算判断n是否为正数,如果不是则结束递归。 step2:如果...

  23VLniqT6Swj   2023年11月01日   103   0   0 Java

JZ67把字符串转换成整数(atoi) 题目 写一个函数StrToInt,实现把字符串转换成整数这个功能。不能使用atoi或者其他类似的库函数。传入的字符串可能有以下部分组成: 1.若干空格 2.(可选)一个符号字符('+'或'-') 3.数字,字母,符号,空格组成的字符串表达式 4.若干空格 转换算法如下: 1.去掉无用的前导空格 2.第一个非空字符为+或者-号时,作为该整数的正负号,如果没有符号,默认为正数 3.判断整数的有效部分: 3.1确定符号位之后,与之后面尽可能多的连续数字组合起来成为有效整数数字,如果没有有效的整数部分,那么直接返回0 3.2将字符串前面的整数部分取出,后面可能...

  23VLniqT6Swj   2023年11月01日   30   0   0 Java

JZ74和为S的连续正数序列 题目 小明很喜欢数学,有一天他在做数学作业时,要求计算出916的和,他马上就写出了正确答案是100。 但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数)。 没多久,他就得到另一组连续正数和为100的序列:18,19,20,21,22。 现在把问题交给你,你能不能也很快的找出所有和为S的连续正数序列? 方法1枚举法 思路 算法实现 从数字1开始枚举连续的数字,将其累加判断其是否等于目标, 如果小于目标数则继续往后累加, 如果大于目标数说明会超过,跳出, 继续枚举下一个数字开始的情况(比如2,比如3), 这样每次都取连续的序列,只有刚...

  23VLniqT6Swj   2023年11月01日   68   0   0 Java

JZ75字符流中第一个不重复的字符 题目 请实现一个函数用来找出字符流中第一个只出现一次的字符。例如,当从字符流中只读出前两个字符"go"时,第一个只出现一次的字符是"g"。 当从该字符流中读出前六个字符“google"时,第一个只出现一次的字符是"l"。 方法1使用LinkedHashMap 思路 算法实现 LinkedHashMap实现顺序插入,不过查询速度会比较慢 具体做法: step1:用哈希表统计每个字符的次数,是全局变量。 step2:在Insert函数中对输入的字符,然后统计出现次数。 step3:在FirstAppearingOnce函数遍历该字符串,对于每个字符查找哈希表...

  23VLniqT6Swj   2023年11月01日   32   0   0 Java

JZ76删除链表中重复的结点 题目 在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5处理后为1->2->5 方法1哈希表进行删除 思路 算法实现 LinkedHashMap实现顺序插入,不过查询速度会比较慢 具体做法: step1:用哈希表统计每个字符的次数。 step2:在put前进行判断,如果有值则在原有的值进行+1,没有则默认值+1。 step3:对map进行遍历,对计数为1的值进行创建ListNode对象,然后拼接成一个链表。 代码 p...

  23VLniqT6Swj   2023年11月01日   73   0   0 Java

JZ76删除链表中重复的结点 题目 给定一个二叉树,返回该二叉树的之字形层序遍历,(第一层从左向右,下一层从右向左,一直这样交替) 例如,给定的二叉树是{1,2,3,,,4,5} 该二叉树之字形层序遍历的结果是 [ [1], [3,2], [4,5] ] 方法非递归层次遍历 思路 算法实现 按照层次遍历按层打印二叉树的方式,每层分开打印,然后对于每一层利用flag标记, 第一层为false,之后每到一层取反一次,如果该层的flag为true,则记录的数组整个反转即可。 具体做法: step1:首先判断二叉树是否为空,空树没有打印结果。 step2:建立辅助队列,根节点首先进入队列。不管层次...

  23VLniqT6Swj   2023年11月01日   44   0   0 Java

JZ78把二叉树打印成多行 题目 给定一个节点数为n二叉树,要求从上到下按层打印二叉树的val值,同一层结点从左至右输出,每一层输出一行, 将输出的结果存放到一个二维数组中返回。 例如:给定的二叉树是{1,2,3,,,4,5} [ [1], [2,3], [4,5] ] 方法非递归层次遍历 思路 算法实现 按照层次遍历按层打印二叉树的方式,每层分开打印,记录数组。 具体做法: step1:如果树为空,则返回空数组,没有任何打印结果。 step2:使用队列辅助层次遍历,优先加入二叉树的根节点。 step3:从根节点开始,每次进入一层的时候,记录队列的长度即本层的节点数, 然后访问相应节点数全...

  23VLniqT6Swj   2023年11月01日   32   0   0 Java

JZ84二叉树中和为某一值的路径(三) 题目 给定一个二叉树root和一个整数值sum,求该树有多少路径的的节点值之和等于sum。 1.该题路径定义不需要从根节点开始,也不需要在叶子节点结束,但是一定是从父亲节点往下到孩子节点 2.总节点数目为n 3.保证最后返回的路径个数在整形范围内(即路径个数小于231-1) 方法非递归层次遍历 思路 算法实现 既然要找所有路径上节点和等于目标值的路径个数,那我们肯定先找这样的路径起点啊,但是我们不知道起点究竟在哪里, 而且任意节点都有可能是起点,那我们就前序遍历二叉树的所有节点,每个节点都可以作为一次起点,即子树的根节点。 具体做法: step1:每次...

  23VLniqT6Swj   2023年11月01日   58   0   0 Java

JZ85连续子数组的最大和(二) 题目 输入一个长度为n的整型数组array,数组中的一个或连续多个整数组成一个子数组,找到一个具有最大和的连续子数组。 1.子数组是连续的,比如[1,3,5,7,9]的子数组有[1,3],[3,5,7]等等,但是[1,3,7]不是子数组 2.如果存在多个最大和的连续子数组,那么返回其中长度最长的,该题数据保证这个最长的只存在一个 3.该题定义的子数组的最小长度为1,不存在为空的子数组,即不存在[]是某个数组的子数组 4.返回的数组不计入空间复杂度计算 方法动态规划 思路 算法实现 既然是连续子数组,如果我们拿到了当前的和,对于后面一个即将加入的元素,如果加上...

  23VLniqT6Swj   2023年11月01日   98   0   0 Java

JZ86在二叉树中找到两个节点的最近公共祖先 题目 给定一棵二叉树(保证非空)以及这棵树上的两个节点对应的val值o1和o2,请找到o1和o2的最近公共祖先节点。 注:本题保证二叉树中每个节点的val值均不相同。 方法BFS,非递归方法 思路 算法实现 看到6和7公共祖先有5和3,但最近的是5。我们只要往上找,找到他们第一个相同的公共祖先节点即可, 但怎么找到每个节点的父节点呢,我们只需要把每个节点都遍历一遍, 然后顺便记录他们的父节点存储在Map中。我们先找到其中的一条路径, 比如6→5→3,然后在另一个节点往上找,由于7不在那条路径上, 我们找7的父节点是2,2也不在那条路径上, 我们...

  23VLniqT6Swj   2023年11月01日   43   0   0 Java

14.最长公共前缀 题目描述 编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀,返回空字符串""。 方法暴力算法 先判断字符串数组是否有为空,为空直接返回空 令第一个字符串作为基准进行比较 设置一个长度,作为最后最长公共前缀的长度 循环判断,选取最小长度 代码 packageeasy.最长公共前缀14; classSolution{ publicStringlongestCommonPrefix(String[]strs){ //如果为空,直接返回空 if("".equals(strs[0]))return""; //第一个作为基准进行比较 Strings=strs[0...

  23VLniqT6Swj   2023年11月01日   58   0   0 Java

安装Docker Docker分为CE和EE两大版本。CE即社区版(免费,支持周期7个月),EE即企业版,强调安全,付费使用,支持周期24个月。 DockerCE分为stabletest和nightly三个更新频道。 官方网站上有各种环境下的安装指南,这里主要介绍DockerCE在CentOS上的安装。 1.CentOS安装Docker DockerCE支持64位版本CentOS7,并且要求内核版本不低于3.10,CentOS7满足最低内核的要求,所以我们在CentOS7安装Docker。 1.1.卸载(可选) 如果之前安装过旧版本的Docker,可以使用下面命令卸载: yumremovedo...

  23VLniqT6Swj   2023年11月01日   82   0   0 Linux

主库配置 1、修改配置文件/etc/my.cnf mysql服务ID,保证整个集群环境中唯一,取值范围:1–232-1,默认为1 server-id=1 是否只读,1代表只读,0代表读写 read-only=0 忽略的数据,指不需要同步的数据库 binlog-ignore-db=mysql 指定同步的数据库 binlog-do-db=db01 2、重启MySQL服务器 systemctlrestartmysqld 3、登录mysql,创建远程连接的账号,并授予主从复制权限 创建itcast用户,并设置密码,该用户可在任意主机连接该MySQL服务 CREATEUSER'itcast'@'%...

  23VLniqT6Swj   2023年11月01日   70   0   0 MySQL

查找薪水记录超过15条的员工号emp_no以及其对应的记录次数t 知识点 where和having用法:1、where、聚合函数、having在from后面的执行顺序:where>聚合函数(sum,min,max,avg,count)>having2、若引入聚合函数来对groupby结果进行过滤,则只能用having3、having语句通常与groupby语句联合使用,用来过滤由groupby语句返回的记录集。4、having语句的存在弥补了where关键字不能与聚合函数联合使用的不足5、where子句的作用是在对查询结果进行分组前,将不符合where条件的行去掉,即在分组之前过滤...

  23VLniqT6Swj   2023年11月01日   133   0   0 MySQL
关注 更多

空空如也 ~ ~

粉丝 更多

空空如也 ~ ~