LintCode第485题-生成给定大小的数组,第220题-冰雹猜想,第235题-分解质因数

第485题

描述

给你一个大小size,生成一个元素从1 到 size的数组

复制代码
样例 1:
	输入:  size = 4
	输出: [1, 2, 3, 4]
	
	样例解释: 
	 返回一个顺序填充1到4的数组。
	 
样例 2:
	输入:  size = 1
	输出: [1]
	
	样例解释: 
	返回一个顺序填充1到1的数组

代码如下:

public class Solution {

/**

* @param size: An integer

* @return: An integer list

*/

public List<Integer> generate(int size) {

// write your code here

List<Integer> integerList=new ArrayList<>();

for(int i=1;i<=size;i++)

{

integerList.add(i);

}

return integerList;

}

}

第220题

描述

数学家们曾提出一个著名的猜想------冰雹猜想。

对于任意一个自然数N,如果N是偶数,就把它变成N / 2;

如果N是奇数,就把它变成 3 * N+1。

按照这个法则运算下去,最终必然得1。

试问,该数通过几轮变换,会变成1呢?

1<=n<=1000

样例 1:

复制代码
输入: 
4
输出: 
2
解释: 
第一轮:4/2=2
第二轮:2/2=1
答案为2

代码如下:

public class Solution {

/**

* @param num: an integer

* @return: an integer

*/

public int getAnswer(int num) {

// write your code here.

int goal=num;

int count=0;

while(goal>1)

{

if(goal%2==0)

{

goal=goal/2;

}else

{

goal=goal*3+1;

}

count++;

}

return count;

}

}

第235题:

描述

将一个整数分解为若干质因数之乘积

你需要从小到大排列质因子

样例 1:

复制代码
输入:10
输出:[2, 5]

样例 2:

复制代码
输入:660
输出:[2, 2, 3, 5, 11]

代码如下:

public class Solution {

/**

* @param num: An integer

* @return: an integer array

*/

public List<Integer> primeFactorization(int num) {

// write your code here

int temp=num;

List<Integer> resultList=new ArrayList<>();

if(temp==1)

{

return new ArrayList<>();

}

for(int i=2;i<=Math.sqrt(temp);i++)

{

while(temp%i==0)

{

resultList.add(i);

temp=temp/i;

}

}

if(temp>1)

{

resultList.add(temp);

}

return resultList;

}

}

相关推荐
草莓熊Lotso4 小时前
【数据结构初阶】--二叉树(二)
c语言·数据结构·经验分享·其他
朝朝又沐沐8 小时前
算法竞赛阶段二-数据结构(36)数据结构双向链表模拟实现
开发语言·数据结构·c++·算法·链表
薰衣草23338 小时前
一天两道力扣(6)
算法·leetcode
剪一朵云爱着9 小时前
力扣946. 验证栈序列
算法·
遇见尚硅谷9 小时前
C语言:*p++与p++有何区别
c语言·开发语言·笔记·学习·算法
天天开心(∩_∩)9 小时前
代码随想录算法训练营第三十二天
算法
YouQian7729 小时前
(AC)缓存系统
算法·缓存
艾莉丝努力练剑9 小时前
【数据结构与算法】数据结构初阶:详解排序(二)——交换排序中的快速排序
c语言·开发语言·数据结构·学习·算法·链表·排序算法
科大饭桶10 小时前
数据结构自学Day13 -- 快速排序--“前后指针法”
数据结构·算法·leetcode·排序算法·c
李永奉10 小时前
C语言-流程控制语句:for循环语句、while和do…while循环语句;
c语言·开发语言·c++·算法