算法相关

把只包含因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。/**使用筛子的思想,先找出一定数量的丑数,放到ArrayList,再按要求取出对应的丑数@index 代表第N个丑数*/public class UglyNumber { public static int GetUglyNumber_Solution(int index) { int i=2; //store uglyNumbers ArrayList<Integer> list=new ArrayList<>(); //inital list,"1" is the fisrt ugly number list.add(1); while (list.size()!=index){ if (judegeNumber(i)){ list.add(i); } i++; } return list.get(list.size()-1); } public static boolean judegeNumber(int n){ //judege weather is uglyNumber while(n !=1){ if (n%2==0){ n=n/2; } else if(n%3==0){ n=n/3; } else if(n%5==0){ n=n/5; } else{ break; } } if (n==1){ return true; } else { return false; } } public static void main(String[] args){ System.out.print(""+GetUglyNumber_Solution(7)); }}输入一个整型数组,数组中一个或连续的多个整数组成一个子数组。求所有子数组和的最大值。例如{1,-2,3,10,-4,7,2,-5}最大的子数组{3,10,-4,7,2}/**curSum=0,GreatSum=0,数组元素都为负值,返回值0是错误的;curSum=arr[0],GreatSum=[0],数组元素都为正值,array[0]被计算2次;*/public int FindGreatestSumOfSubArray(int[] array) { int curSum=0;//当前子数组的和 int GreatSum=array[0];//保存返回的最大值 for(int i=0;i<array.length;i++){//curSum<0 ,抛弃之前curSum的值; if(curSum<0){ curSum=array[i]; } else{ curSum+=array[i]; } if(curSum>GreatSum){ GreatSum=curSum; } } return GreatSum; }二维数组的查找在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。/**从右上角开始查找,偏小向左查找,偏大向下查找;*/public class Solution { public boolean Find(int target, int [][] array) { int column=array[0].length; int row=array.length; int i=0; int j=column-1; if(column>0 && row >0) { while (true) { if (target == array[i][j]) { return true; } else if (target < array[i][j]) { j--; if (j < 0) { return false; } } else { i++; if (i >= row) { return false; } } } } else { //数组为空的情况 return false; } }}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 背景 一年多以前我在知乎上答了有关LeetCode的问题, 分享了一些自己做题目的经验。 张土汪:刷leetcod...
    土汪阅读 12,790评论 0 33
  • Java经典问题算法大全 /*【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子...
    赵宇_阿特奇阅读 1,963评论 0 2
  • 回溯算法 回溯法:也称为试探法,它并不考虑问题规模的大小,而是从问题的最明显的最小规模开始逐步求解出可能的答案,并...
    fredal阅读 13,808评论 0 89
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,200评论 19 139
  • 我是一条鱼,我叫玛丽。 从我一出生,我就在这个鱼缸中,那时我们都很小,主人在每个清晨都会给我们喂食,我们就会游到鱼...
    可可熊Q阅读 942评论 2 2