之前都在leetcode刷题,有些文章直接保存到上面去了,这是今天做招银的测试题中的一个,先说一下题目的大概意思。
给定一个整数,要求输出关于这个整数的各种数字相加的组合:
1:0种
2:0种
3:3 = 2 + 1 :1种
4 : 4 = 3 + 1 = 2 + 1 + 1 : 2种
5 : 5 = 4 + 1 = 3 + 2 = 3 + 1 + 1 = 2 + 2 + 1 = 2 + 1 + 1 +1 :5种
6 : 6 = 5 + 1 = 4 + 2 = 4 + 1 + 1 = 3 + 2 + 1 = 3 + 1 + 1 + 1 = 2 + 2 + 1 + 1 = 2 +1 +1 + 1 +1 : 7种

给定输入:2
输出样例:0

我的做法就是将题目所给的等式全部倒着写一遍:
3 = 1 + 2;
4 = 1 + 3 = 1 + 1 + 2;
5 = 1 + 4 = 1 + 1 + 3 = 1 + 1 + 1 + 2 = 2 + 3 = 2 + 1 + 2
6 = 1 + 5 = 1 + 1 + 4 = 1 + 1 + 1 + 3 = 1 + 1 + 1 +1 + 2
= 2 + 4 = 2 + 1 + 3 = 2 + 1 + 1 + 2

这样看的规律其实就非常明显了。
以整数5为例。
1、将整数5拆成1 + 4
2、将第一步得出来的4拆成1 + 3
3、将第二步的3拆成1 + 2的形式
4、拆到末尾数为2为止
5、将整数5拆成2 + 3
接下来的步骤按照以上继续,每一次都将第二部分逐渐拆至2,很明显看的出用的是两个循环。

值得注意的是,第一部分的值与给的整数有关,分两种情况:奇数和偶数


public class Solution11 {public static void main(String[] args) {//用做测试// TODO Auto-generated method stubfor(int i=1;i<7;i++){System.out.println("i = " + i + ":" + departSort(i));}}public static int departSort(int num){int sum = 0;//初始分解总数为0int index = 0;int part1 = 0;//第一部分的初值int part2 = 0;//第二部分的初值if(num % 2 == 0)//偶数index = num / 2 - 1;else//奇数index = num / 2;for(int i=1;i<=index;i++)//第一部分的循环值{part1 = i;part2 = num - i;sum++;while(part2 > 2)//在循环中不断更新第二部分的值{part2--;sum++;}}if(num == 1 || num == 2)//整数为1和2时时特殊情况sum = 0;return sum;}}

我个人觉得应该可以用动态规划或者是递归求解出这道题的答案,不过我写不下去了。。。

招银网络科技笔试题:数字分解相关推荐

  1. 招银网络:笔试题(20190906)

    黄金数的个数 设置一个临时变量来存放所有因子之积,当大于当前值cu则可以直接中止.如果两者相等,则累加值count加一. #include <iostream>using namespac ...

  2. 招银网络科技java春招二面_招银网络科技 2019春招笔试题复盘

    因本人刚开始写博客,学识经验有限,如有不正之处望读者指正,不胜感激:也望借此平台留下学习笔记以温故而知新.这篇博客是复盘回忆招银网络科技2019春招的笔试试题类型,相关岗位:算法工程师. 简要介绍:时 ...

  3. 招银网络笔试java_2020招银网络科技校园招聘常见问题

    关于简历投递方面问题 Q:我可以申请几个校招职位? A:本次校园招聘您最多只能申请1个职位,因此建议明确自己希望应聘的岗位. Q:简历提交之后,我还能进行修改? A:简历状态为"简历评估&q ...

  4. 一个妹子的招银网络科技Java后台开发面经

    基本情况 妹子985非科班硕士,秋招Java后台开发,先后投递了招银网络科技,招行***中心,招行总行的岗位和招行杭州分行. 招行有很多机构,这些机构之间可同时投递多个,面试可并行进行,也可以同时拿多 ...

  5. 招银网络科技--电话面试面经

    背景 今天参加了招银网络科技的第一轮电话面试,本人选择的是c++软件研发岗位,所以我的面试方向为c++方向.在这里做一个简单的记录. 笔试 本人是投递f的招银网科c++研发岗提前批,大约五月底投的简历 ...

  6. 招银网络科技杭州 java_招银网络科技_杭州Java后端_视频一、二面,HR面

    2020-7-28HR面 在别人面过HR面之后的一周,收到了HR面的通知.大概是7.24收到的吧. 自我介绍 为什么不读博士? 为什么投招银?了解招银网络科技吗? 平时的作息? 他们是995,问能否接 ...

  7. 杭州c语言开发招聘,杭州招银网络科技

    为了帮助职业圈网友能够及时了解杭州招银网络科技的面试流程以及面试过程所涉及的面试问题,职业圈小编把刚获得的杭州招银网络科技面试经验马上编辑好,快速提供给大家,以便能够尽快帮助到有需要的人.这次面试总共 ...

  8. 招银网络科技前端开发电话面试

    招银网络科技前端开发电话面试 整个过程26分钟,都没让自我介绍...大致问题如下 1.http协议的html文档结构 2.闭包 3.http与https的区别 4.给出一个列表,其中有一个对象是姓名和 ...

  9. 招银网络科技 面试记

    招银网络科技是我最中意的意向公司,其实也不知道什么原因.或许是因为曾经有人跟我说过这个公司吧,更多的我想可能是它是一个互联网金融类的公司,这是比较吸引我的. 所以在校招好没有真正开始的时候,我就早早地 ...

最新文章

  1. VS Code搭建C/C++开发环境超详细教程
  2. 值得研究的 开源图形引擎
  3. 对linux文件权限的理解,理解linux文件权限2
  4. python考级证书-python考级有几个级别
  5. Lisp和前缀表示法入门
  6. 10-Flutter移动电商实战-使用FlutterSwiper制作轮播效果
  7. 如何在Amazon AWS上设置一台Linux服务器
  8. python将list写入文件_Python:将 list 写入一个 txt 文件
  9. linux系统下安装qgis,深度操作系统 deepin 15.11安装 QGIS 3.4
  10. ssl1335-最佳派对【二分图,最大匹配,图论】
  11. 【资源】100页机器学习入门完整版,初学者必备!
  12. NET中dictionary的一个小坑
  13. Django-Rest-Framework
  14. Lan Xiang's Square nyoj 1099(已经四边形四点坐标 如何判断正方形)
  15. 所用软件安装及环境配置
  16. 中控 人脸指纹 iface702 二次开发 (X86 X64 SDK,VB,C#Demo)
  17. React Suspense 尝鲜,处理前后端IO异步操作
  18. 16位深度图片显示并保存
  19. android adapter 组件,Android UI - AdapterView 及其子类
  20. 菜刀,蚁剑,冰蝎,哥斯拉的流量特征

热门文章

  1. preg_replace() 函数
  2. excel中的CTRL+E格式选取
  3. 浙江环宇集团“营改增”项目启动会成功举办
  4. 根据目标检测结果裁剪bbox保存到本地,python,opencv
  5. Robomaster小陀螺
  6. gittrack_什么时候使用git branch –track(开始“看上游”的意思)?
  7. 2019纪中寒假培训
  8. HIVE:窗口函数,用sql语句查询MySQL安装路径和版本
  9. 华为语音合成服务,为用户提供实时、可替换、多音调的语音播放体验
  10. 许昌学院校园网服务大厅模拟登录