
算法
算法
HadwinLing
这个作者很懒,什么都没留下…
展开
-
TopN-spark实现
Spark 实现:唯一键文件输入形式:代码实现如下:package com.hadwinling.chap03import org.apache.spark.{SparkConf, SparkContext}import scala.collection.SortedMapobject TopN { def main(args: Array[String]): Unit = { //1 . 创建环境 val conf = new SparkConf().setMast原创 2021-04-29 11:55:17 · 277 阅读 · 0 评论 -
leetcode —— 双指针
class Solution { public int removeDuplicates(int[] nums) { int n = nums.length; if(n == 0){ return 0; } int fast = 1,solw = 1; while( fast < n ){ if (nums[fast] != nums[fast-1]){ .原创 2021-04-19 19:47:33 · 188 阅读 · 0 评论 -
蓝桥杯试题 历届试题 回文数字
问题描述 观察数字:12321,123321 都有一个共同的特征,无论从左到右读还是从右向左读,都是相同的。这样的数字叫做:回文数字。本题要求你找到一些5位或6位的十进制数字。满足如下要求: 该数字的各个数位之和等于输入的整数。输入格式 一个正整数 n (10<n<100), 表示要求满足的数位和。输出格式 若干行,每行包含一个满足要求的5位或6位整数。 数字按从小到大的顺序排列。 如果没有满足条件的,输出:-1import java.util.Scanner;原创 2020-09-20 10:08:08 · 176 阅读 · 0 评论 -
蓝桥杯试题 基础练习 数列排序
问题描述 给定一个长度为n的数列,将这个数列按从小到大的顺序排列。1<=n<=200输入格式 第一行为一个整数n。 第二行包含n个整数,为待排序的数,每个整数的绝对值小于10000。输出格式 输出一行,按从小到大的顺序输出排序后的数列。import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner input = new S原创 2020-09-20 09:56:44 · 184 阅读 · 0 评论 -
蓝桥杯试题 基础练习 特殊回文数
问题描述 123321是一个非常特殊的数,它从左边读和从右边读是一样的。 输入一个正整数n, 编程求所有这样的五位和六位十进制数,满足各位数字之和等于n 。输入格式 输入一行,包含一个正整数n。输出格式 按从小到大的顺序输出满足条件的整数,每个整数占一行。import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner input = n原创 2020-09-20 09:55:42 · 191 阅读 · 0 评论 -
蓝桥杯试题 基础练习 杨辉三角形
问题描述杨辉三角形又称Pascal三角形,它的第i+1行是(a+b)i的展开式的系数。它的一个重要性质是:三角形中的每个数字等于它两肩上的数字相加。下面给出了杨辉三角形的前4行:11 11 2 11 3 3 1给出n,输出它的前n行。输入格式输入包含一个数n。输出格式输出杨辉三角形的前n行。每一行从这一行的第一个数开始依次输出,中间使用一个空格分隔。请不要在前面输出多余的空格。import java.util.Scanner;public class Main { pu原创 2020-09-20 09:53:50 · 581 阅读 · 0 评论 -
蓝桥杯试题 基础练习 01字串
问题描述对于长度为5位的一个01串,每一位都可能是0或1,一共有32种可能。它们的前几个是:0000000001000100001100100请按从小到大的顺序输出这32种01串。public class Main { public static void main(String[] args) { getFuc02(); } public static void getFuc02(){ for (int i =0 ;i<原创 2020-09-20 09:52:26 · 137 阅读 · 0 评论 -
蓝桥杯试题 基础练习 闰年判断
问题描述给定一个年份,判断这一年是不是闰年。当以下情况之一满足时,这一年是闰年:年份是4的倍数而不是100的倍数;年份是400的倍数。其他的年份都不是闰年。输入格式输入包含一个整数y,表示当前的年份。输出格式输出一行,如果给定的年份是闰年,则输出yes,否则输出no。import java.util.Scanner;public class Main { public static void main(String[] args) { Scanne原创 2020-09-20 09:50:10 · 611 阅读 · 0 评论 -
蓝桥杯 入门训练 A+B问题
import java.util.*;public class Main{ public static void main(String args[]) { Scanner input = new Scanner(System.in); Integer a = input.nextInt(); Integer b = input.nextInt(); System.out.println(a + b); }}原创 2020-09-14 14:12:33 · 138 阅读 · 0 评论 -
蓝桥杯 入门训练 Fibonacci数列
问题描述Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1。 当n比较大时,Fn也非常大,现在我们想知道,Fn除以10007的余数是多少。输入格式:输入包含一个整数n。输出格式 :输出一行,包含一个整数,表示Fn除以10007的余数。说明:在本题中,答案是要求Fn除以10007的余数,因此我们只要能算出这个余数即可,而不需要先计算出Fn的准确值,再将计算的结果除以10007取余数,直接计算余数往往比先算出原数再取余简单。样例输入10样例输出55样原创 2020-09-14 12:00:47 · 248 阅读 · 0 评论 -
leetcode 搜索插入位置(二分法)
解题思路标签:二分查找如果该题目暴力解决的话需要 O(n)O(n) 的时间复杂度,但是如果二分的话则可以降低到 O(logn)O(logn) 的时间复杂度整体思路和普通的二分查找几乎没有区别,先设定左侧下标 left 和右侧下标 right,再计算中间下标 mid每次根据 nums[mid] 和 target 之间的大小进行判断,相等则直接返回下标,nums[mid] < target 则 left 右移,nums[mid] > target 则 right 左移查找结束如果没有相等.原创 2020-09-20 11:29:00 · 134 阅读 · 0 评论