剑指Offer-41
来源:互联网 发布:手机扫描条形码软件 编辑:程序博客网 时间:2024/04/28 01:41
题目1:
输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得它们的和正好是S,如果有多对,输出任意一对即可。
题目2:
输入一个整数s,打印出所有和为s的连续整数序列。(至少两个数)
实现
public class Solution41 { public static void findNums1(int[] nums,int s){ if(nums==null || nums.length<2){ return; } Map<Integer,Integer> dic = new HashMap<Integer,Integer>(); for(int i=0;i<nums.length;i++){ if(dic.containsKey(nums[i])){ dic.put(nums[i],2); } else{ dic.put(nums[i],1); } } for(int i=0;i<nums.length;i++){ int diff = s-nums[i]; if(dic.containsKey(diff)){ if(diff==nums[i]){ if(dic.get(diff)==2){ System.out.printf("满足要求的数:%d,%d",diff,nums[i]); } } else{ System.out.printf("满足要求的数:%d,%d",diff,nums[i]); } } } } public static void findNums2(int[] nums,int s){ if(nums==null || nums.length<2){ return; } int start=0; int end=nums.length-1; while (start<end){ int sum = nums[start]+nums[end]; if(sum==s){ System.out.printf("满足要求的数:%d,%d",nums[start],nums[end]); return; } else if(sum>s){ end--; } else { start++; } } System.out.printf("没有满足要求的数"); } public static void findContinuousSequence(int sum){ if(sum<3){ return; } int small =1; int big=2; int cur_sum = small+big; int middle = (1+sum)/2; while (small<middle){ if(cur_sum==sum){ printNums(small,big); } while (cur_sum>sum && small<middle){ cur_sum-=small; small++; if(cur_sum==sum){ printNums(small,big); } } big++; cur_sum+=big; } } public static void printNums(int start,int end){ for(int i=start;i<=end;i++){ System.out.format(" %d",i); } System.out.println(); } public static void main(String[] args){ findContinuousSequence(15); }}
阅读全文
1 0
- 【41-45】剑指offer
- 剑指Offer-41
- 剑指offer(41-50)
- 【剑指offer】41-50题
- 剑指offer 试题41~50
- 剑指OFFER
- 剑指offer
- 剑指Offer
- 剑指offer
- 剑指Offer
- 剑指offer
- 剑指offer
- 剑指offer
- 剑指Offer
- 剑指offer
- 剑指offer
- 剑指Offer
- 剑指offer
- python 学习路线
- 常用的 wget 参数详解
- openstack keystone token 超时时间扩展
- 回归和分类的区别
- Android Camera2拍照(一)——使用SurfaceView
- 剑指Offer-41
- 分布式缓存Redis Centos下单节点安装
- Meteor Shower POJ
- 不平衡数据研究
- RSS订阅神器 —— Inoreader
- hibernate 二级缓存 处理
- HTML5之主体元素结构
- AutoCAD 2010 开发与之前版本的区别
- Jquery 源码分析