首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    算法题1

    (lastSpace,input.length()-1); return output.length(); }else{ return 0; } } 2...输出描述: 输出多行,表示输入数据处理后的结果 输入: 3 2 2 1 输出: 1 2 说明: 输入解释: 第一个数字是3,也即这个小样例的N=3,说明用计算机生成了3个1到500之间的随机整数,接下来每行一个随机数字...,共3行,也即这3个随机数字为: 2 2 1 所以样例的输出为: 1 2 //TreeSet public static void main(String args[]){ Scanner...如180的质因子为2 2 3 3 5 ) 数据范围: 1≤�≤2×109+14 1≤n≤2×109+14 输入描述: 输入一个整数 输出描述: 按照从小到大的顺序输出它的所有质数的因子,以空格隔开。...输入:180 输出:2 2 3 3 5 6.取近似值(n = (int)(number+0.5)) 描述 写出一个程序,接受一个正浮点数值,输出该数值的近似整数值。

    12610

    爆料算法刷题日记 Day1;布置 Day2 算法题

    大家晚上好,错过昨天的算法刷题作业帖的朋友,可点击下面查看: 算法刷题起航,帮你走向下一个巅峰!...还有 js....])) 局部无序 print(bubble_sort([1,2,3,5,4,6,7,8,9])) 完全有序 print(bubble_sort([1,2,3,4,5,6,7,8,9])) 更多星球中其他人的提交...Day 2 算法题:写出选择排序 参考下面的几幅图,红色表示当前找到的未排序序列中的最小值,绿色表示当前被比较的元素: 又找到一个更小的值2,重新标记它为红色: 一轮比较后,找到最小值2并标记为黄色,表示就位...通过这两道基本的算法练习题,找到一些做算法题的感觉。明天Day3 开始系统学习算法知识,从什么是一个算法开始。

    53440

    动态规划原理及算法题(1)

    1.题目解析  2.讲解算法原理 如果用动态规划的原理来解决这个问题的话,一般分五步进行 (1) 确定状态表示 动态规划的做题流程一般是先定义一个dp表,dp表一般就是一个一维数组或者是一个二维数组 先定义一个数组...a[0] = 0, a[1] = a[2] = 1;         for (int i = 3; i <= n; i++)             a[i] = a[i - 1] + a[i...            return n;         if (n == 2)             return 1;         int a = 0, b = 1, c = 1,...,加起来有两种走法,到第三节的时候,可以从0到3,也可以从1到三,也可以2到3,再加上如何到1、2台阶的方法数,加起来有四种...... 2.讲解算法原理 (1) 确定状态表示 dp[i]表示到达 i...那么状态转移方程就有了:dp[i] = dp[i - 1] + dp[i - 2] + dp[i - 3] (3)初始化 dp[0] = 0,dp[1] = 1,dp[2] = 2,dp[3] = 4

    10110

    【算法】每日一题——奇怪的算法(2)

    这道题第一个关键点在于,按照左端点进行升序排序(这里用到了lambda表达式,实现comparator接口) 2:处理是否能合并区间这一点很关键,比较的是集合中最后一个元素的右端点和待放入元素的左端点大小...~ 3:算法方法技巧.get()方法传入下标值,不太熟 class Solution { public int[][] merge(int[][] intervals) { Arrays.sort...String类型比较用.equals()方法,==比较的是引用, 2:出栈后的运算是num2在前,num1在后 3:遍历每一个字符串的时候,负数要特殊处理一下,用一个标志位即可解决 class Solution...(num2 - num1); } else if (str.equals("*")) { stack.push(num2 * num1...2; int[] array = new int[2*n]; array[1] = 1; array[2] = 2; for(int

    3100

    文心一言 VS chatgpt (4)-- 算法导论2.2 1~2题

    该算法称为选择算法,写出其伪代码。该算法维持的循环不变式是什么?为什么它只需要对前 n-1个元素,而不是对所有n 个元素运行?用记号O给出选择排序的最好情况与最坏情况运行时间。...文心一言: chatgpt: 选择排序的伪代码如下: SelectionSort(array A) 1. for i = 1 to n - 1 2. minIndex = i 3....swap(A[i], A[minIndex]) 该算法的循环不变式是:在每次循环开始时,已经将 A[1\sim i-1] 中的元素按非降序排列,且它们已经放置在正确的位置上。...在最好情况下,数组本来就是有序的,但算法还是需要进行 n-1 次比较和 0 次交换;在最坏情况下,数组是逆序的,每次循环都需要进行 n-i 次比较和 1 次交换,所以总共需要进行 \sum_{i=1}^...{n-1}(n-i) = \frac{n^2-n}{2} 次比较和交换。

    23830

    文心一言 VS chatgpt (6)-- 算法导论2.3 1~2题

    具体来说,归并排序的操作步骤如下: 1.将数组 A 分成两个子数组 A_1 和 A_2,其中 A_1 的长度为 1,A_2 的长度为 A_1 的长度加上 1。...2.对 A_1 和 A_2 分别进行排序,可以使用任何一种排序算法,例如冒泡排序、选择排序、插入排序等。...否则,我们将数组 A 分成两个子数组 A_1 和 A_2,其中 A_1 的长度为 1,A_2 的长度为 A_1 的长度加上 1。...[j] # 将R中剩余元素复制回A中 j += 1 k += 1 在这个重写版本的MERGE算法中,我们不再使用哨兵元素,而是使用两个while循环来处理...该算法的时间复杂度为O(n),与使用哨兵的版本相同,但这个算法需要额外的空间来复制L和R数组,空间复杂度为O(n)。

    17910
    领券