草庐IT

牛客刷题——剑指offer(第7期)

王同学要变强 2023-04-18 原文

💟💟前言
🥇作者简介:友友们大家好,我是你们的小王同学😗😗
​🥈个人主页:小王同学🚗
​🥉 系列专栏:牛客刷题专栏📖
​📑 推荐一款非常火的面试、刷题神器👉 牛客网
觉得小王写的不错的话 麻烦动动小手点赞👍 收藏⭐ 评论📄
今天给大家带来的刷题系列是:
​剑指offer 链接:👉 剑指offer


​ 里面有非常多的题库 跟面经知识 真的非常良心了!!

JZ33 二叉搜索树的后序遍历序列🎈

题目描述🎈

解题思路🎈

这道题目是输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则返回 true ,否则返回 false 。假设输入的数组的任意两个数字都互不相同
这道题就是中序后序遍历满足栈的压入弹出序列关系
如果把中序序列当做栈的压入序列,那么后序序列是该栈的一个弹出序列
而二叉搜索树的中序排序数组

代码详解🎈

import java.util.*;
public class Solution {
    public boolean VerifySquenceOfBST(int [] sequence) {
       
        int arr[]=sequence.clone();
        Arrays.sort(arr);
        return IsPopOrder(arr,sequence);
        
    }
    boolean IsPopOrder(int []pushA,int []popA){
        if(pushA.length==0 || popA.length==0) return false;
        
        Stack<Integer> stack=new Stack<>();
        int popIndex=0; //用于标识弹出的序列的位置
        
        for(int x:pushA){
            stack.push(x);
            //如果栈不为空 并且栈顶元素等于弹出的序列
            while(stack.size()>0 && stack.peek()== popA[popIndex]){
                //出栈
                stack.pop();
                popIndex++;
                
            }
        }
        return stack.empty();
    }
}

JZ45 把数组排成最小的数🎈

题目描述🎈

解题思路🎈

这道题的核心思路 就是排序
只考虑首字符的大小不可靠,但是如果字符串a拼接b的得到的数字大于b拼接a,那么肯定b应该排在a的前面,我们要就按照这样的次序将排序的比较重载就可以了
还要特判 空数组的情况
最后返回的是字符串的类型
只考虑首字符的大小不可靠,但是如果字符串a拼接b的得到的数字大于b拼接a,那么肯定b应该排在a的前面,我们要就按照这样的次序将排序的比较重载就可以了。

代码详解:

import java.util.*;
import java.util.ArrayList;

public class Solution {
    public String PrintMinNumber(int [] numbers) {
        int len=numbers.length;
         //特判空数组的情况
        if(numbers==null || numbers.length==0) return "";
         String []str= new String[len];
        for(int i=0;i<len;i++){
            str[i]=numbers[i]+"";
        }  
        Arrays.sort(str,new Comparator<String>(){
            public int compare(String s1,String s2){
                return (s1+s2).compareTo(s2+s1);
            }
        });
        
        StringBuilder res=new StringBuilder();
        //字符串叠加
        for(int i=0;i<str.length;i++){
            res.append(str[i]);
           
        }
         return res.toString();
      
        
        
        
        
        
            

    }
}

​​
牛客是一款不论是面试 还是刷题 都是非常有用的 还等什么注册其来吧👉👉 牛客网

有关牛客刷题——剑指offer(第7期)的更多相关文章

  1. 牛客网专项练习30天Pytnon篇第02天 - 2

    1.在Python3中,下列关于数学运算结果正确的是:(B)a=10b=3print(a//b)print(a%b)print(a/b)A.3,3,3.3333...B.3,1,3.3333...C.3.3333...,3.3333...,3D.3.3333...,1,3.3333...解析:    在Python中,//表示地板除(向下取整),%表示取余,/表示除(Python2向下取整返回3)2.如下程序Python2会打印多少个数:(D)k=1000whilek>1:    print(k)k=k/2A.1000 B.10C.11D.9解析:    按照题意每次循环K/2,直到K值小于等

  2. <Java>逻辑控制,方法详解,重载,牛客习题,IDEA调试方法... - 2

    目录一.逻辑控制+方法1.java输入2.循环输入3.switch4.循环结构 5.三种输出6.java生成随机数7.java方法二.习题+方法21.返回二进制中1的个数2.获取一个二进制序列中的偶数位和奇数位,分别输出二进制序列3.JAVA比较字符串是否相同4.牛客网ACM书写格式5.方法的重载一.逻辑控制+方法1.java输入注意大小写!下面代码会出现什么问题??2.循环输入Ctrl+D结束循环输入3.switch面试问题:不能做switch()参数的类型有哪些?longfloatdoubleboolean(其他的都可以)4.循环结构 continue该程序运行的结果是什么??5.三种输出

  3. 牛客竞赛每日俩题 - 动态规划3 - 2

    目录类01背包问题,选or不选变种走方格类01背包问题,选or不选不同的子序列_牛客题霸_牛客网问题翻译:        S有多少个不同的子串与T相同        S[1:m]中的子串与T[1:n]相同的个数        由S的前m个字符组成的子串与T的前n个字符相同的个数状态:        子状态:由S的前1,2,...,m个字符组成的子串与T的前1,2,...,n个字符相同的个数        F(i,j):S[1:i]中的子串与T[1:j]相同的个数状态递推:        在F(i,j)处需要考虑S[i]=T[j]和S[i]!=T[j]两种情况        当S[i]=T[j]

  4. 【测试面经】软件测试面试题大全,软件测试必问必背面试题,敢说会70%就可以轻松拿offer...... - 2

    目录:导读前言一、测试面试基础题二、测试实战面试题三、测试基础知识点四、总结前言大部分人学软件测试的从业者,在找工作的同时,会因为软件测试面试题挡在门前。……跳槽最重要的一步自然是面试,正值跳槽季,网上出现了各种面试题,一时会让人眼花缭乱,分不清最该看哪个,所以为大家做了一些软件测试面试的真题,想跳槽的小伙伴们,请准备好你的小本本!一、测试面试基础题1、简述测试流程?2、什么是软件测试?软件测试的目的与原则?3、软件生存周期及其模型是什么?4、什么是软件质量?5、自动化测试脚本开发的主要步骤?6、目前主要的测试用例设计方法是什么?7、常见的测试用例设计方法都有哪些?请分别以具体的例子来说明这些

  5. 面试总结+力扣第二天刷题 - 2

    一.面试总结    4月20号下午进行了一场大数据视频面试,总结一下踩坑点:    1.确定面试后,第一件事要和HR确定面试方式,具体时间、地点、什么软件、岗位JD等必须信息。        这里很多人有一个思想误区,认为问的太多会给HR不好的印象;其实大可不必,如果你通过了简历筛选,你就有权力使用公司招聘的人力资源。    2.要在面试10分钟前就进入面试的环境中,以防突发事件。    3.面试最开始都会有一个自我介绍环节,这个自我介绍环节,一定要慎之又慎,最好写下来,让朋友、长辈等审核多遍。    注:我面试时,在这踩了一个坑,自我介绍的时候踩了我要面试的岗位一脚,被技术面试官抓住了这一点

  6. 【算法刷题】贪心算法题型及方法归纳 - 2

    贪心算法特点从局部最优解推出全局最优,并且想不出来反例。贪心没有明确有规律的套路,而对于贪心的难题,更多的是难在思路上,要用一些转化问题的思维方法,然后,再根据局部最优解推出全局最优。参考文章:贪心算法理论基础1、发饼干先排序,按饼干从小到大的顺序,依次分给从小到大排序的小朋友。127、【贪心算法】leetcode——455.分发饼干:DFS+双指针法(C++版本)2、0水准线count用来记录当前子序列的相加和,当count大于0时,继续相加。当count小于或等于0时,重新开始选取子序列。以count是否为0判定的原因:若后续为正数时,没有这个负数更好,若后续为负数时,越加只会越小)129

  7. LeetCode刷题中出现的奇怪的错误及解决办法 - 2

    目录前言: 案例1:案例2: 案例3:案例4:前言:一般我在刷leetcode题的时候既不喜欢在Playground也不喜欢在本地编译器里面打代码,而是直接在题目后的窗口里写代码。于是对于我这种氪不起金的玩家来说,经常就会出现奇怪的bug,找了半天也找不到。这里就对以前遇到过的问题进行总结。 案例1:我找了老半天问题在哪里。发现不管在for循环后面加什么语句都会出错。最后放到visualstudio里面才发现了错误。。。错误原因:c++注释行尾的反斜杠会将下一行也注释掉(即连接本行与下一行)!解决办法:避免注释行末尾出现\(除非故意的)总结:不得不承认有时不屑一顾的小基础能够在偶然的时候把自己

  8. 【Java牛客&力扣刷题特辑第五期】——诸佬们这些坑你们都踩过了吗?牛客网经典笔试题目每天刷两道,快乐充实一整天 - 2

    ✨✨【Java牛客&力扣刷题特辑第五期】——诸佬们这些坑你们都踩过了吗?✔✨前言🎉🎉大家好!好久不见我是青花瓷,今天你刷题了吗?文章目录,从易到难,层层递进,如果每一道题都吃透,你一定会在做题方面有质的飞跃,关注我,一起学习算法,一起分享好的题型。博主将持续更新算法,大厂笔试题,经典算法题,易错题,如果觉得不错,点点赞支持一下,如果有错误的地方,欢迎指正✨✨下一期:算法篇之回溯算法作者介绍:🎓作者:偷偷敲代码的青花瓷✨👀作者的Gitee:代码仓库📌系列文章推荐:✨1.Java牛客&力扣刷题特辑第一期✨2.Java牛客&力扣刷题特辑第二期✨3.Java牛客&力扣刷题特辑第三期✨4.Java牛客&

  9. 【华为HCIP | 高级网络工程师】刷题日记(2) - 2

    个人名片:🐼作者简介:一名大二在校生🐻‍❄️个人主页:落798.🐼个人WeChat:落798.🕊️系列专栏:零基础学java-----重识c语言----计算机网络🐓每日一句:看淡一点在努力,你吃的苦会铺成你要的路!文章目录每日刷题30道1.如图所示是DHCP协议的运行过程,客户端从申请到获得IP地址的正确流程是哪一项?2.缺省情况下,OSPF外部路由属于以下哪一种类型?5.R1、R2、R3、R4运行OSPF,它们接口的DRPriority如图所示,假如设备同时启动,则_________被选举为DR。(请填写设备名称,例如R1)。6.以下关于IPv6重复地址检测的描述,错误的是哪一项?7.在WL

  10. 2023-2-18 刷题情况 - 2

    删列造序III题目描述给定由n个小写字母字符串组成的数组strs,其中每个字符串长度相等。选取一个删除索引序列,对于strs中的每个字符串,删除对应每个索引处的字符。比如,有strs=[“abcdef”,“uvwxyz”],删除索引序列{0,2,3},删除后为[“bef”,“vyz”]。假设,我们选择了一组删除索引answer,那么在执行删除操作之后,最终得到的数组的行中的每个元素都是按字典序排列的(即(strs[0][0]请返回answer.length的最小可能值。样例样例输入strs=[“babca”,“bbazb”]strs=[“edcba”]strs=[“ghi”,“def”,“ab

随机推荐