把只包含因子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...
- 回溯算法 回溯法:也称为试探法,它并不考虑问题规模的大小,而是从问题的最明显的最小规模开始逐步求解出可能的答案,并...