c++试题(18)

【腾讯音乐笔试题汇总】2024-04-18-腾讯音乐春招笔试题-三语言题解(CPP/Python/Java) 5月1日。 阅读详情

上地理课时,四个学生回答我国四大淡水湖的大小时说:
        甲:洞庭湖最大,洪泽湖最小,鄱阳湖第三。
          乙:洪泽湖最大,洞庭湖最小,鄱阳湖第二,太湖第三
        丙:鄱阳湖最小,洞庭湖第三。
        丁:鄱阳湖最大,太湖最小,洪泽湖第二,洞庭湖第三。
对于每个湖的大小,每人仅答对了一个。请判断四个湖的大小。
请写出分析思路和代码。这是老师的问题,因为时间紧,我也在做,同时请教最好的设计思路!

//   a,b,c,d   =   洞庭湖,洪泽湖,鄱阳湖,太湖
#define   N   4
char   a[N]   =   {   'a','b','c','d'   }
void   fun   (   char   a[],   const   int   i,   cosnt   int   n   )
{
if   (   i   ==   n-1   )
{
bool   c1   =   (a[0]   ==   'a'   &&   a[1]   !=   'b'   &&   a[2]   !=   'c')  
||   (a[0]   !=   'a'   &&   a[1]   ==   'b'   &&   a[2]   !=   'c')
||   (a[0]   !=   'a'   &&   a[1]   !=   'b'   &&   a[2]   ==   'c'
)
bool   c2   =   ……………………………………………………
bool   c3   =   ……………………………………………………
if   (   c1   &&   c2   &&   c3   &&   c4   )
for   (   int   j   =   0;   j   <   n;   j++   )
cout   <<   "第"   <<   j+1   <<   “是"   <<   a[j]   <<   endl;
}
else  
for   (   int   s   =   i;   s   <   n;   s++   )
{
char   temp   =   a[s];
a[s]   =   a[i];
a[i]   =   temp;
fun   (   a,   i+1,   n   );
temp   =   a[s];
a[s]   =   a[i];
a[i]   =   a[s];
}
}

 

#include   <iostream>
#include<fstream.h>

class   Run
{
public:

void   Read()
{
m_A   =new   int[4];
m_B   =new   int[4];
m_C   =new   int[4];
m_D   =new   int[4];
ifstream   in;
in.open("rr.txt");
char   t;
// while(!in.eof())
// {
for(int   i=0;   i!=4;   ++i)
{
in.get(t);
m_A[i]   =atoi(&t);
}
for(i=0;   i!=4;   ++i)
{
in.get(t);
m_B[i]   =atoi(&t);
}
for(i=0;   i!=4;   ++i)
{
in.get(t);
m_C[i]   =atoi(&t);
}
for(i=0;   i!=4;   ++i)
{
in.get(t);
m_D[i]   =atoi(&t);
}
// }
}

void   Set()
{
m_A   =new   int[4];
m_B   =new   int[4];
m_C   =new   int[4];
m_D   =new   int[4];
cout<<"lake1       | lake2       | lake3       |       lake4"<<endl;
cout<<"A:   ";
for(int   i=0;   i!=4;   ++i)
cin>>m_A[i];
cout<<"B:   ";
for(i=0;   i!=4;   ++i)
cin>>m_B[i];
cout<<"C:   ";
for(i=0;   i!=4;   ++i)
cin>>m_C[i];
cout<<"D:   ";
for(i=0;   i!=4;   ++i)
cin>>m_D[i];
}


void   Sort()
{
for(lake1=1;   lake1!=5;   ++lake1)
{
for(lake2=1;   lake2!=5;   ++lake2)
{
if(lake2   ==   lake1)
{
continue;
}
for(lake3=1;   lake3!=5;   ++lake3)
{
if(   lake3   ==lake1   ||   lake3   ==lake2)
{
continue;
}
for(lake4=1;   lake4!=5;   ++lake4)
{
if(   lake1   ==   lake4   ||   lake2   ==lake4   ||   lake3   ==   lake4)
{
continue;
}
if(IsRight(m_A)   &&   IsRight(m_B)   &&   IsRight(m_C)   &&   IsRight(m_D))
{
cout<<"lake1:   "<<lake1;
cout<<"lake2:   "<<lake2;
cout<<"lake3:   "<<lake3;
cout<<"lake4:   "<<lake4;
}
}
}
}
}
}

protected:
bool   IsRight(int   order[4])
{
int   count   =0;
if(lake1   ==   order[0])   ++count;
if(lake2   ==   order[1])   ++count;
if(lake3   ==   order[2])   ++count;
if(lake4   ==   order[3])   ++count;
return   count==1;
}

protected:
int   *m_A;
int   *m_B;
int   *m_C;
int   *m_D;

int   lake1;
int   lake2;
int   lake3;
int   lake4;
};

void   main   ()
{
Run aRun;
// aRun.Set();
aRun.Read();
aRun.Sort();
}


我刚写了一个啊`。
在程序文件夹里面包含一个“RR。TXT”里面包含(1243421334553124),这几个数字的意思是A人说:1号湖是最大,2号湖第二大,3号湖第4大,4号湖第3好。
这里总共16个数字就是代表这个意思。
但是不知道为什么程序找不到正确答案```郁闷ing

错错拉上面的算法不对这应该是推理问题
思路是这样的   呵呵
int   a[4],b[4],c[4],d[4];//四个学生的   答案   其中每个数组的第一位到第四位都分别代表   洞   潘   太   洪  
a[4]={1,3,   2,   4};//对于四个人的答案先初始化数组这个是甲   的答案
b[4]={。。。。};
c[4]={。。。。};
d[4]={。。。。};//没有的就全给0
int   i   ;
for(i=0;i<4;i++)
{(a[i]==b[i])?a[i]=b[i]=0;
(b[i]==c[i])?b[i]=c[i]=0;
...
...
...
}
//肯定有一个数组里面有且仅有一个元素不为0;
接着继续判断   就是把这一项的对应项目全给0   ;
接着就没几个数字拉    
后来就要扫描数组   进行判断拉我想出来拉但是没时间拉不写拉

拉上面的算法不对这应该是推理问题
思路是这样的   呵呵
int   a[4],b[4],c[4],d[4];//四个学生的   答案   其中每个数组的第一位到第四位都分别代表   洞   潘   太   洪  
a[4]={1,3,   2,   4};//对于四个人的答案先初始化数组这个是甲   的答案
b[4]={。。。。};
c[4]={。。。。};
d[4]={。。。。};//没有的就全给0
int   i   ;
for(i=0;i<4;i++)
{(a[i]==b[i])?a[i]=b[i]=0;
(b[i]==c[i])?b[i]=c[i]=0;
...
...
...
}
//肯定有一个数组里面有且仅有一个元素不为0;
接着继续判断   就是把这一项的对应项目全给0   ;
接着就没几个数字拉    
后来就要扫描数组   进行判断拉我想出来拉但是没时间拉不写拉

 

 

#include   <iostream>
#include<fstream.h>

class   Run
{
public:

void   Read()
{
m_A   =new   int[4];
m_B   =new   int[4];
m_C   =new   int[4];
m_D   =new   int[4];
ifstream   in;
in.open("rr.txt");
char   t;
// while(!in.eof())
// {
for(int   i=0;   i!=4;   ++i)
{
in.get(t);
m_A[i]   =atoi(&t);
}
for(i=0;   i!=4;   ++i)
{
in.get(t);
m_B[i]   =atoi(&t);
}
for(i=0;   i!=4;   ++i)
{
in.get(t);
m_C[i]   =atoi(&t);
}
for(i=0;   i!=4;   ++i)
{
in.get(t);
m_D[i]   =atoi(&t);
}
// }
}

void   Set()
{
m_A   =new   int[4];
m_B   =new   int[4];
m_C   =new   int[4];
m_D   =new   int[4];
cout<<"lake1       | lake2       | lake3       |       lake4"<<endl;
cout<<"A:   ";
for(int   i=0;   i!=4;   ++i)
cin>>m_A[i];
cout<<"B:   ";
for(i=0;   i!=4;   ++i)
cin>>m_B[i];
cout<<"C:   ";
for(i=0;   i!=4;   ++i)
cin>>m_C[i];
cout<<"D:   ";
for(i=0;   i!=4;   ++i)
cin>>m_D[i];
}


void   Sort()
{
for(lake1=1;   lake1!=5;   ++lake1)
{
for(lake2=1;   lake2!=5;   ++lake2)
{
if(lake2   ==   lake1)
{
continue;
}
for(lake3=1;   lake3!=5;   ++lake3)
{
if(   lake3   ==lake1   ||   lake3   ==lake2)
{
continue;
}
for(lake4=1;   lake4!=5;   ++lake4)
{
if(   lake1   ==   lake4   ||   lake2   ==lake4   ||   lake3   ==   lake4)
{
continue;
}
if(IsRight(m_A)   &&   IsRight(m_B)   &&   IsRight(m_C)   &&   IsRight(m_D))
{
cout<<"lake1:   "<<lake1;
cout<<"lake2:   "<<lake2;
cout<<"lake3:   "<<lake3;
cout<<"lake4:   "<<lake4;
}
}
}
}
}
}

protected:
bool   IsRight(int   order[4])
{
int   count   =0;
if(lake1   ==   order[0])   ++count;
if(lake2   ==   order[1])   ++count;
if(lake3   ==   order[2])   ++count;
if(lake4   ==   order[3])   ++count;
return   count==1;
}

protected:
int   *m_A;
int   *m_B;
int   *m_C;
int   *m_D;

int   lake1;
int   lake2;
int   lake3;
int   lake4;
};

void   main   ()
{
Run aRun;
// aRun.Set();
aRun.Read();
aRun.Sort();
}


我刚写了一个啊`。
在程序文件夹里面包含一个“RR。TXT”里面包含(1243421334553124),这几个数字的意思是A人说:1号湖是最大,2号湖第二大,3号湖第4大,4号湖第3好。
这里总共16个数字就是代表这个意思。
但是不知道为什么程序找不到正确答案```郁闷ing

问题分析:
        可以设洞庭湖、洪泽湖、鄱阳湖、太湖分别用变量A、B、C、D表示。每个变量的取值是1~4。
        因为每个只答对了一个,所以,他们的叙述可以表示为:
      甲:(A=1)+(B=4)+(C=3)=-1
    乙:(B=1)+(A=4)+(C=2)+(D=3)=-1
    丙:(B=4)+(A=3)=-1
    丁:(C=1)+(D=4)+(B=2)+(A=3)=-1
    只有以上条件都满足时,才能找到正确答案。

FOR   A   =   1   TO   4
    FOR   B   =   1   TO   4
        FOR   C   =   1   TO   4
            D   =   10   -   A   -   B   -   C
            IF   A   *   B   *   C   *   D   <>   24   THEN   GOTO   5
            P1   =   (A   =   1)   +   (B   =   4)   +   (C   =   3)
            P2   =   (B   =   1)   +   (A   =   4)   +   (C   =   2)   +   (D   =   3)
            P3   =   (B   =   4)   +   (A   =   3)
            P4   =   (C   =   1)   +   (D   =   4)   +   (B   =   2)   +   (A   =   3)
            IF   NOT   (P1   =   -1   AND   P2   =   -1   AND   P3   =   -1   AND   P4   =   -1)   THEN   GOTO   5
            PRINT   "Dongting   Lake",   "Hongze   Lake",   "Panyang   Lake",   "Tai   Lake"
            PRINT   A,   B,   C,   D
5   NEXT   C,   B,   A
END


有两组答案:
1.洞庭湖最大,洪泽湖第二,太湖第三,潘阳湖第四
2.   太湖最大,     鄱阳湖第二,   洞庭湖第三,洪泽湖第四
代码在下面,VC++6.0   +   Windows2000   下调试通过
***********************************************
条件分析:
1.湖名分析:
    湖名:     洞庭湖,洪泽湖,鄱阳湖,太湖
    简称:           1       ,   2,           3,         4
    在个位
2.大小分析:
      0,1,2,3分别为湖的大小,3为最大,0为最小
    在十位
3.第i人的言论是二维数组的第一个下标

依据以上原则把条件列入数组a[4][4]  

如:“洞庭湖最大”   则是     a[0][0]=31
***********************************************
  #include   "stdio.h"
#include   "iostream.h"

int   count=1;

bool   valid2(int   a,int   b)
{
    int   ai=0;
    int   aj=0;
    int   bi=0;
    int   bj=0;
   
      ai=a/10;
      bi=b/10;
      aj=a%10;
      bj=b%10;
   
    if(((ai==bi)&&(aj==bj))||((ai!=bi)&&(aj!=bj)))
          return   true;
    else  
          return   false;

}




bool   valid(int   a,int   b,int   c,int   d)
{
      if(valid2(a,b)&&valid2(a,c)&&valid2(a,d)&&valid2(b,c)&&valid2(b,d)&&valid2(c,d))
          return   true;
      else
          return   false;
}


void   printLake(int   a)
{
    switch(a%10)
      {
        case   1:   cout<<"洞庭湖"<<"   "<<a/10<<endl;
                        break;
        case   2:   cout<<"洪泽湖"<<"   "<<a/10<<endl;
                        break;
        case   3:   cout<<"鄱阳湖"<<"   "<<a/10<<endl;
                        break;
        case   4:   cout<<"太湖"<<"   "<<a/10<<endl;
                        break;
        default:
                        break;
      }

}

void   printAll(int   a,int   b,int   c,int   d)
{
cout<<endl;
cout<<"-------------------the   right"<<"   "<<count<<"   "<<"--BEGIN(the   bigger   the   larger)-------"<<endl;
printLake(a);
printLake(b);
printLake(c);
printLake(d);
cout<<"-------------------the   right"<<"   "<<count<<"   "<<"--END--------------------------------"<<endl;
count++;
}





void   main()
{
int   i;
int   j;
int   k;
int   m;

int   a[4][4]={0};       //初始化条件数组
a[0][0]=31;
a[0][1]=02;
a[0][2]=13;
a[0][3]=24;         //必须填写   否则可能会少检验几种情况

a[1][0]=32;
a[1][1]=01;
a[1][2]=23;
a[1][3]=14;

a[2][0]=03;
a[2][1]=11;

a[3][0]=33;
a[3][1]=22;
a[3][2]=11;
a[3][3]=04;
  cout<<"----BEGIN-------"<<endl;
for(i=0;i<3;i++)
    for(j=0;j<4;j++)
      {
        if(valid2(a[0][i],a[1][j]))                   //加快查找速度,从已不合理的分支退出
        {
        for(k=0;k<2;k++)
          for(m=0;m<4;m++)
            {
              if(valid2(a[2][k],a[3][m]))           //加快查找速度,从已不合理的分支退出
                {
                if(valid(a[0][i],a[1][j],a[2][k],a[3][m]))     //   合法性判断
                      printAll(a[0][i],a[1][j],a[2][k],a[3][m]);                         //解析并输出正解
                }
          }
        }
      }
  cout<<"----END---------"<<endl;
}

C++版 - 剑指offer 面试题18: 树的子结构(LintCode 245.Subtree) 题解 题目: 树的子结构 热度指数:9608 时间限制:1秒 空间限制:32768K 提交网址: http://www.nowcoder.com/practice/6e196c44c7004d15b1610b9afca8bd88?tpId=13&tqId=11170或 http://www.lintcode.com/zh-cn/problem/subtree/ (难度: Easy)题目描述输入 阅读详情

相关推荐

AF3​​​​​​​ Msa、TemplateHit、HitMetadata类解读

Msa:处理 多序列比对 (MSA) 结果,为 AlphaFold3 提供 序列进化信息。 TemplateHit:存储 查询序列与模板结构的比对信息,用于 筛选模板。 HitMetadata:提供 比对模板的 PDB 结构信息,帮助 解析和使用模板数据。

qq_27390023的博客 818

蓝桥杯-19省4-数的分解(把 2019 分解成 3 个各不相同的正整数之和,并且要求每个正整数都不包含数字 2 和 4,一共有多少种不同的分解方法? 注意交换 3 个整数的顺序被视为同一种方法,例)

问题描述 把 2019 分解成 3 个各不相同的正整数之和,并且要求每个正整数都不包含数字 2 和 4,一共有多少种不同的分解方法? 注意交换 3 个整数的顺序被视为同一种方法,例如 1000+1001+18 和1001+1000+18 被视为同一种。 答案提交 这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。 输入 没...

fucheng的博客 6493

正交试验实战指南:从PICT工具到混合水平表应用

本文详细介绍了正交试验法在测试设计中的实战应用,从基础概念到PICT工具的高级使用技巧。通过混合水平表设计和工程化实践案例,帮助测试工程师高效解决参数组合爆炸问题,提升测试覆盖率与效率。特别适合兼容性测试和复杂系统验证场景。

weixin_29230865的博客 259

C程序-2019年第十届蓝桥杯B组-试题 D: 数的分解

【问题描述】 把 2019 分解成 3 个各不相同的正整数之和,并且要求每个正整数都不包 含数字 2 和 4,一共有多少种不同的分解方法? 注意交换 3 个整数的顺序被视为同一种方法,例如 1000+1001+18 和 1001+1000+18 被视为同一种。 思路:把 2019 分解成 3 个各不相同的正整数之和,交换 3 个整数的顺序被视为同一种方法,循环时初始化可以在上一层基础上+1,便...

qq_40788199的博客 1593

vcs覆盖率相关

选择要查看的覆盖率点,右键选择 show xxx tests;

qq_40571921的博客 2386

基于多智能体深度强化学习的空地协同通信系统轨迹设计与访问控制

所属子方向: UAV assisted communication 名词注释 coordinated:协调、协同 base stations 基站,公用移动通信基站,是移动设备接入互联网的接口设备,是指在一定的无线电覆盖区中,通过移动通信交换中心,与移动电话终端之间进行信息传递的无线电收发信电台。 UAV-BS:无人机基站 cooperative-competitive game:合作竞争博弈 throughput :吞吐量,每秒比特数 bps,bits per second Determinis

skysys的研究小屋 4969

第十届蓝桥杯大赛软件类省赛 试题 D: 数的分解 (枚举)

试题 D: 数的分解 本题总分:10 分 【问题描述】 把 2019 分解成 3 个各不相同的正整数之和,并且要求每个正整数都不包 含数字 2 和 4,一共有多少种不同的分解方法? 注意交换 3 个整数的顺序被视为同一种方法,例如 1000+1001+18 和 1001+1000+18 被视为同一种。 【答案提交】 这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一 ...

Helloirbd的博客 825

ImageNet分类实战:用PyTorch复现AlexNet的5个关键技巧(附代码)

本文详细介绍了使用PyTorch复现经典AlexNet模型进行ImageNet图像分类的五个关键工程技巧。内容涵盖模型架构的现代重构、训练策略优化、核心组件实现与替代方案,以及实用的训练调试方法,并提供了完整的代码示例,帮助开发者深入理解深度卷积神经网络的实现细节与优化思路。

i0j1k2l3m的博客 92

划分整数

蒜头君特别喜欢数学。今天,蒜头君突发奇想:如果想要把一个正整数 nn 分解成不多于 kk 个正整数相加的形式,那么一共有多少种分解的方式呢? 蒜头君觉得这个问题实在是太难了,于是他想让你帮帮忙。 输入格式 共一行,包含两个整数 n(1 \leq n \leq 300)n(1≤n≤300) 和 k(1 \leq k \leq 300)k(1≤k≤300),含义如题意所示。 输出格式 一个数...

hg_zhh 895

niushop靶场漏洞查找-文件上传漏洞等(超详细)

发现报错,而且这个报错十分熟悉,与我们所学的sqli报错注入特别像。这里查询到后面的url有且仅有一个,目测估计是后台。上传的图片是包含一句话木马的图片。发现获取到了webshell。实战漏洞-niushop。

qq_59020256的博客 1727

SRCNN超分辨率Pytorch实现,代码逐行讲解,附源码

超分辨率,就是把低分辨率(LR, Low Resolution)图片放大为高分辨率(HR, High Resolution)的过程。通过CNN将图像Y 的特征提取出来存到向量中。用一层的CNN以及ReLU去将图像Y 变成一堆堆向量,即feature map。把提取到的特征进一步做非线性映射,加大网络深度,提高网络复杂性。结合了前面得到的补丁来产生最终的高分辨率图像。实验步骤。

weixin_52261094的博客 3万+

2019年第十届蓝桥杯【C++省赛B组】【第四题: 数的分解】——附解题思路及代码

蓝桥杯题目汇总 https://blog.youkuaiyun.com/qq_34202873/article/details/79784728 第四题 标题: 数的分解(本题总分:10 分) 【问题描述】 把 2019 分解成 3 个各不相同的正整数之和,并且要求每个正整数都不包 含数字 2 和 4,一共有多少种不同的分解方法? 注意交换 3 个整数的顺序被视为同一种方法,例如 1000+1001+18 ...

老陈聊架构 5701

一.镜头知识之焦点,焦距,有效焦距,前焦距,后焦距

由光学系统中镜片的最后一面到像面的距离。

AIoT深度探索者 | 嵌入式系统架构师 深耕物联网(IoT)与人工智能(AI)融合技术,聚焦​​边缘计算、图像开发、低功耗通信协议​​,致力于智能硬件,关注我获取最新技术文章信息与海量资源~ 5576

18道c++笔试题

1.是不是一个父类写了一个virtual 函数,如果子类覆盖它的函数不加virtual ,也能实现多态? virtual修饰符会被隐形继承的。private 也被集成,只事派生类没有访问权限而已。virtual可加可不加。子类的空间里有父类的所有变量(static除外)。同一个函数只存在一个实体 (inline除外)。子类覆盖它的函数不加virtual ,也能实现多态。在子类的空间里,有父类的私有变量。私有变量不能直接访问。 -----------------------------------------

懒人的技术笔记 1585

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

moto的18道C++面试题...

原帖子,看下面链接http://topic.youkuaiyun.com/u/20080720/11/a52179aa-b128-4686-bf64-fc138ab78e42.html jscn123789abc同学的问题请大家讨论一下:moto的18道C++面试题...    1.介绍一下STL,详细说明STL如何实现vector。    2.如果用VC开发程序,

Magicpang 973

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

C++Basic(18)-- 20道必须掌握的C++面试题

20道必须掌握的C++面试题 C++ 相关教程 在面试C++方面的工作时,经常会遇到各种面试题,这对应聘人员的知识掌握能力要求较高。本文将为大家带来的就是20道必须掌握的C++面试题,不要错过哦! 问1:请用简单的语言告诉我C++ 是什么? 答:C++是在C语言的基础上开发的一种面向对象编程语言,应用广泛。C++支持多种编程范式 --面向对象编程、泛型编程和过程化编程。 其编程领域...

Techblog of HaoWANG 437

剑指Offer(数据结构与算法面试题精讲)C++版——day18

剑指Offer(数据结构与算法面试题精讲)C++版——day18 题目一:所有大于或等于节点的值之和 题目二:二叉搜索树迭代器 题目三:二叉搜索树中两个节点的值之和

weixin_46560512的博客 1002

Leetcode C++《每日一题》20200622 面试题 16.18. 模式匹配

Leetcode C++《每日一题》20200622 面试题 16.18. 模式匹配 1. 题目 你有两个字符串,即pattern和value。 pattern字符串由字母"a"和"b"组成,用于描述字符串中的模式。例如,字符串"catcatgocatgo"匹配模式"aabab"(其中"cat"是"a",“go"是"b”),该字符串也匹配像"a"、"ab"和"b"这样的模式。但需注意"a"和"b"不能同时表示相同的字符串。编写一个方法判断value字符串是否匹配pattern字符串。 示例 1: 输入: p

快乐划水程序猿的专栏 503

18day---C++面试题

1.printf函数中用到的格式为%5是,其中数字5表示输出的字符串占用5列,如果字符串长度大于5,则输出按原字符串长从左向右全部输出 解:(1)字符串长度比设定的长度大就按字符串的实际长度输出。 (2)字符串的长度比设定的长度小就按右对齐输出该字符串,左补空格。 2.关于scanf的知识点 (1)scanf用于输入整数时,当遇到非数字字符结束,此时非数字字符将存入键盘缓冲区内。如果接着读入字符,将从键盘缓冲区没读取该字符。 ...

jjjstephen的博客 98

剑指offer 面试题18:删除链表中的重复节点 c++

本题有两种 第一题:在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1-&gt;2-&gt;3-&gt;3-&gt;4-&gt;4-&gt;5 处理后为 1-&gt;2-&gt;3-&gt;4-&gt;5   ( 只是去掉了重复节点) 思路:两个指针 一前一后,若前后相等,删掉后面的 class Solution { public...

别说话写代码的博客 1455

面试题(18)|C/C++基础(10):智能指针

智能指针是否线程安全? 这里的智能指针单指shared_ptr shared_ptr对象提供与内置类型相同级别的线程安全性: 1.同一个shared_ptr对象可以被多个线程同时读; 2.不同的shared_ptr对象可以被多个线程同时修改,即使这些shared_ptr对象管理着同一个对象的指针. 3.任何其他并发访问的结果都是无定义的. shared_ptr线程安全性分析 ...

haimianjie2012的专栏 1309

leetcode 面试题16.18.模式匹配:复现双百算法(分类别讨论),C++带详细注解

leetcode 面试题16.18.模式匹配:复现双百算法(分类别讨论),C++带详细注解 分成5类讨论,定义了两个辅助函数: class Solution { public: bool kSegment(string value,int k)//判断value能否被分成k个一样的字串 { int len=value.size();//求value长度 if(len%k!=0) return false;//长度不是k的整数倍,不能 int m=len/k;//求k等分后每个字符串的

Axe涛的博客 321

《剑指offer》面试题 18:删除链表的结点(C++实现)

题目 题目(一):O(1)时间内删除单链表节点 给定单向链表的头指针和一个结点指针,定义一个函数在O(1)时间删除该结点。 题目(二):删除链表中重复的结点 在一个排序的链表中,如何删除重复的结点?例如,在图3.4(a)中重复结点被删除之后,链表如图3.4(b)所示。 代码 #pragma once struct ListNode { int m_nValue; ListNod...

$慕雪$的博客 290

【剑指Offer | C++ 】面试题18:删除链表的节点 | 删除链表中重复的节点

题目: 在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。例如,链表1->2->3->3->4->4->5 处理后为 1->2->5。给定单向链表的头指针和一个节点指针,定义一个函数在O(1)时间内删除该节点。2.中间节点,值赋后一节点,指向下下个节点,相当于取代后一节点。由于是C++解答,必须考虑到释放空间的问题。题目: 在O(1)的时间内删除链表节点。3.尾节点,必须找到前序节点才能安全删除。每当有重复的记忆前序节点即可。1.只有一个节点,删除节点。

九九六.爱吸油 363

LeeCode 面试题 16.18 枚举

题意 传送门 LeeCode 面试题 16.18. 模式匹配 题解 考虑到只存在 a,ba,ba,b 两种模式,那么枚举第一个模式的长度,根据字符串长度的限制关系,即可求出另一个模式的长度;已知 a,ba,ba,b 的长度即可从 valuevaluevalue 中提取出模式对应的子串,遍历一遍字符串判断各模式对应位置是否一致即可。 class Solution { public: bool patternMatching(string pattern, string value) {

neweryyy的博客 268

1009_C/C++笔试题_18:【今天没有题】

sorry,待会儿背完TOEFL就熄灯了,11点30熄灯。不想随便在网上COPY一段来,每天都是自己亲手打上来的。 今天——又得到个教训了,办事儿,一定要趁早! 转载于:https://blog.51cto.com/4893836/1020036...

weixin_34163553的博客 74
上一篇: 硬盘安装linux大全
下一篇: atoi实现
manplus
博客等级 码龄22年 6粉丝 160原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值