![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
猪猪家的小可爱
这个作者很懒,什么都没留下…
展开
-
国内某金融技术公司笔试题2020年
差不多一个半小时五道题。最后一道题没有看懂。直接上前四道题。虽然是场景题,但是所用到的算法基本都是剑指offer原题。但是在输入输出上面有点变化,主要是细节处理哦!第一题数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。利用排序算法,因为这个数字的出现次数超过数组长度的一半,所以排序之后,中间的数必定为答案: int majorityElem原创 2020-08-28 09:39:01 · 401 阅读 · 0 评论 -
跳台阶 and 过河卒: C++版
题目描述有n级台阶,每次可以向上边最多n级台阶,问到达n级台阶有多少种不同方式:f(1)=1f(2=2f(3)=f(2)+f(1)+1=4f(4)=f(3)+f(2)+f(1)+1=8f(n)=2^(n-1)#include<iostream>using namespace std;int f[10000]={0};int main(){ int n; cin>>n; f[1]=1; f[2]=2; for(int i=3;i++;i原创 2020-08-23 10:38:16 · 179 阅读 · 0 评论 -
递推算法:C++版斐波那契数列
1、题目描述有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子.假如兔子都不死,并且第一个月出生一对兔子,请问第n个月有多少只兔子?分析第一个月:1对第二个月:1 对第三个月:1对+新生=2对第四个月:已有的兔子+新生=2+1=3对第五个月=已有的兔子+新生=3+2=5第n个月:f(n)=f(n-1)+f(n-2)2、斐波那契数列1)、递推f(n)=f(n-1)+f(n-2)#include<iostream>using namep原创 2020-08-21 10:40:09 · 3636 阅读 · 0 评论 -
数据结构与算法——最大字段和
1、题目描述求一个序列的最大子段和即最大连续子序列之和2、枚举法枚举变量:每一段的起点和终点枚举范围:起点:1- n,终点:起点-n;判断条件:找最大值即可复杂度:O(NNN)#include<iostream>using nampespace std;int a[20005];int main(){ int n; cin>>n; for(int i=1;i<=n;i++) { cin>>a[i];原创 2020-08-20 12:17:34 · 434 阅读 · 0 评论 -
砝码称重——不同算法解决
1、问题砝码称重问题:设有1g、2g、3g、5g、10g、20g的砝码各若干枚(其质量<=1000g),求出用他们能称出的质量的种类数(不包括质量为0的情况)。2、枚举法算法思路:1、枚举不同砝码的个数,计算总重量。并将总重量对应的标志置为12、根据标志,计算总质量的个数#include<iostream>using namespace std;int flag[1000]={0}int main(){int n1,n2,n3,n5,n10,n20;cin>&原创 2020-08-19 11:20:18 · 4600 阅读 · 5 评论 -
C++算法与数据结构:枚举
枚举循环+判断的结构1.例题公鸡一只五块钱、母鸡一只三块钱、小鸡一块钱三只,现用一百买一百只鸡,每种鸡最少一只,问公鸡、母鸡、小鸡各多少只?2、代码#include<studio.h>int main(){for (int i=1;i<=100;i++)for(intj=1;j<=100;j++)for(intk=1;k<=100;k++){if(5*i+3*j+k/3==100 && k%3==0 && i+k+j==1原创 2020-08-19 10:25:09 · 128 阅读 · 0 评论