leetcode-166-分数到小数(fraction to recurring decimal)-java

博客探讨了LeetCode第166题的解决方案,通过Java解决分数到小数的转换问题,重点讨论了循环求解、判断重复、结束循环以及防止溢出的策略。博主分享了两种解法,核心思想是通过不断除法取整,利用HashMap记录余数出现的历史,一旦发现重复即停止计算。
摘要由CSDN通过智能技术生成

题目及测试

package pid166;
/* 分数到小数

给定两个整数,分别表示分数的分子 numerator 和分母 denominator,以字符串形式返回小数。

如果小数部分为循环小数,则将循环的部分括在括号内。

示例 1:

输入: numerator = 1, denominator = 2
输出: "0.5"

示例 2:

输入: numerator = 2, denominator = 1
输出: "2"

示例 3:

输入: numerator = 2, denominator = 3
输出: "0.(6)"


*/




public class main {
	
	public static void main(String[] args) {
		int[] testTable1 = new int[]{1,2,2};
		int[] testTable2 = new int[]{2,1,3};
		for(int i=0;i<testTable1.length;i++){
			test(testTable1[i],testTable2[i]);
		}
	}
		 
	private static void test(int ito,int ito2) {
		Solution solution = new Solution();
		String rtn;
		long begin = System.currentTimeMillis();
		
		System.out.print(ito+" "+ito2);		    
		
		System.out.println();
		//开始时打印数组
		
		rtn = solution.fractionToDecimal(ito,ito2);//执行程序
		long end = System.currentTimeM
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值