`
dyccsxg
  • 浏览: 205292 次
  • 性别: Icon_minigender_1
  • 来自: 青岛
社区版块
存档分类

几个小算法题

    博客分类:
  • Java
阅读更多
	/**
	 * 数字三角
	 * 当 n == 7 时输出如下内容
	 *             1 
	 *           2 2 2 
	 *         3 3 3 3 3 
	 *       4 4 4 4 4 4 4 
	 *     5 5 5 5 5 5 5 5 5 
	 *   6 6 6 6 6 6 6 6 6 6 6 
	 * 7 7 7 7 7 7 7 7 7 7 7 7 7 
	 * @param n
	 */
	public static void printTriangle(int n){
		// 1. 校验参数
		if (n < 1){
			throw new IllegalArgumentException("n 必须大于 0");
		}
		// 2. 输出数字三角
		for (int i=0; i<n; i++){
			int level = i+1;
			// 输出空格
			for (int j=0; j<n-level; j++){
				System.out.print("  ");
			}
			// 输出数字
			for (int j=0; j<1 + 2*i; j++){
				System.out.print(level + " ");
			}
			// 换行
			System.out.println();
		}
	}
	/**
	 * 杨辉三角
	 * 当 n == 7 时输出如下内容
	 *             1   
	 *           1   1   
	 *         1   2   1   
	 *       1   3   3   1   
	 *     1   4   6   4   1   
	 *   1   5   10   10   5   1   
	 * 1   6   15   20   15   6   1
	 * @param n
	 */
	public static void printYanghuiTriangle(int n){
		// 1. 校验参数
		if (n < 1){
			throw new IllegalArgumentException("n 必须大于 0");
		}
		// 2. 初始化
		int[][] data = new int[n][];
		for (int i=0; i<n; i++){
			data[i] = new int[i+1];
		}
		// 3. 赋值
		for (int i=0; i<n; i++){
			for (int j=0; j<= i; j++){
				if (j==0 || j==i){
					data[i][j] = 1;
				} else {
					data[i][j] = data[i-1][j-1] + data[i-1][j];
				}
			}
		}
		// 4. 输出
		for (int i=0; i<n; i++){
			int level = i+1;
			for (int j=0; j<n-level; j++){
				System.out.print("  ");
			}
			for (int j=0; j<level; j++){
				System.out.print(data[i][j] + "   ");
			}
			System.out.println();
		}
	}

  

分享到:
评论

相关推荐

    数据结构与算法 题库

    一个算法应该是( )。** **答案:C. 要满足五个基本特性** **解析:** 算法通常被定义为一系列解决问题的步骤,但它必须满足特定的标准才能被称为有效的算法。这些标准包括但不限于: - **输入**:有一个或多个...

    C#常见算法面试题小结

    在C#面试中,算法题是考察候选人编程基础和逻辑思维能力的重要环节。这里我们将深入探讨几种常见的排序算法,如冒泡排序、选择排序和插入排序,并分析一个递归求斐波那契数列的问题,以及模拟事件处理的简单设计模式...

    百度面试算法题汇总

    在实际解题过程中,我们还需要考虑以下几个方面: 1. **时间复杂度与空间复杂度**:优化算法通常是为了减少运行时间和内存使用,因此理解并能估算算法的复杂性至关重要。 2. **数据结构选择**:栈、队列、链表、树...

    算法考试题汇总

    “算法题__计算机算法设计与分析期末试题4套(含答案).doc”则提供了另外四套期末考试题目,这些题目可能涵盖了算法设计的基本原则、复杂性分析、数据结构的应用等多方面。其中,设计部分可能要求我们编写伪代码或...

    算法入门习题100道

    这些习题可能涵盖了以下几个核心算法领域: 1. **排序算法**:包括但不限于冒泡排序、插入排序、选择排序、快速排序、归并排序、堆排序等。学习排序算法有助于理解数据如何在不同条件下的组织和操作。 2. **查找...

    用Java实现栈的所有操作,并用栈实现几个常见算法题

    用Java实现栈的所有操作,并用栈实现几个常见算法题

    大数据常见算法题.txt

    同样可以采用映射的方法,比如模1000,把整个大文件映射为1000个小文件,再找出每个小文中出现频率最大的IP(可以采用hash_map进行频率统计,然后再找出频率最大的几个)及相应的频率。然后再在这1000个最大的IP中,...

    java笔试算法题40道

    根据提供的文件信息,我们可以归纳总结出以下几个主要的IT知识点: ### 1. 兔子繁殖问题(斐波那契数列) #### 解题思路与代码实现 - **问题描述**:一对兔子从第三个月开始每个月都会产下一对新兔子,而新生的...

    java算法题(各种语言通用)

    学习和实践这些算法题有以下几个好处: 1. 提升逻辑思维:算法题锻炼了逻辑推理和问题分析能力,有助于培养良好的编程习惯。 2. 提高编程效率:熟悉多种算法后,面对实际问题时能更快地找到合适的方法。 3. 适应面试...

    几道算法选择题 几道算法选择题

    算法选择题知识点总结 一、分支限界法与回溯法 ...这些算法选择题涵盖了分支限界法、回溯法、概率算法、素数测试、判定问题难易处理和函数的阶等多个方面的知识点,旨在考察读者的算法基础和逻辑思维能力。

    JAVA经典算法30题

    本文将围绕“JAVA经典算法30题”这一主题,详细解读其中几个算法的实现逻辑和应用场景,希望能对读者有所启发。 首先,让我们来看第一个经典问题——兔子繁殖问题。这个问题是著名的斐波那契数列问题,即从第三个月...

    算法导论往年真题

    在准备这类考试时,学生需要对以下几个核心知识点有深入的理解: 1. **排序算法**:包括冒泡排序、插入排序、选择排序、快速排序、归并排序、堆排序等。理解它们的时间复杂度和稳定性,并能根据数据特性选择合适的...

    JAVA算法编程题全集(50题及答案)

    该数列的特点是,每个数都是前两个数的和,数列的前几个数是:0、1、1、2、3、5、8、13、21、…。 在这个程序中,我们使用了循环来计算菲波拉契数列的前 M 个数,M 的值可以根据需要进行设置。在循环体中,我们使用...

    aspnet+算法题

    由于压缩包中只有一个名为“asp.net+算法题.doc”的文件,可以推测这可能是一个文档,里面详细记录了若干算法题目,可能包括题目描述、解题思路和C#或ASP.NET实现的代码片段。学习者可以通过阅读这份文档,结合自己...

    算法导论习题答案

    习题答案通常包括以下几个方面的内容: 1. **算法设计**:习题会引导你设计新的算法来解决特定问题。这可能涉及到数据结构的选择,如栈、队列、树、图等,以及如何有效地操作这些结构。 2. **算法分析**:理解一个...

    (完整版)算法题计算机算法设计与分析期末试题4套(含答案).pdf

    分治法所能解决的问题一般具有以下几个特征:该问题的规模缩小到一定的程度就可以容易地解决;该问题可以分解为若干个规模较小的相同问题,即该问题具有最优子结构性质;利用该问题分解出的子问题的解可以合并为该...

    算法历年试题

    设计良好的算法需要考虑以下几个方面: 1. 正确性:算法必须能够正确地解决预定的问题。 2. 效率:算法应尽可能快,即时间复杂度较低。 3. 空间效率:算法占用的内存空间应尽可能少,即空间复杂度较低。 4. 可读性...

    java算法练习试题

    对于GCD,用较大的数除以较小的数,然后用余数替换较大的数,重复这个过程,直到余数为0,最后的除数就是GCD。LCM可以通过两数相除以GCD得到。 【程序 7】此题要求统计输入字符串中字母、空格、数字和其他字符的...

    现代计算机常用数据结构和算法习题

    通过以上概述可以看出,《现代计算机常用数据结构和算法习题》覆盖了算法的基础知识、几种重要的排序算法以及高效的线性时间排序方法等内容。这些知识点不仅对于计算机专业的学生非常重要,也对软件开发者和其他对...

Global site tag (gtag.js) - Google Analytics