算法
Huangsi~
这个作者很懒,什么都没留下…
展开
-
【蓝桥杯】基础练习 十六进制转八进制
问题描述 给定n个十六进制正整数,输出它们对应的八进制数。输入格式 输入的第一行为一个正整数n (1<=n<=10)。 接下来n行,每行一个由09、大写字母AF组成的字符串,表示要转换的十六进制正整数,每个十六进制数长度不超过100000。输出格式 输出n行,每行为输入对应的八进制正整数。思路:八位十六进制int类型就撑不住了,所以十六进制转成十进制是不行的,采取二进制做中间商:十六进制 -> 二进制 -> 八进制import java.util.*;原创 2021-01-03 21:35:28 · 159 阅读 · 0 评论 -
【蓝桥杯】基础练习 字母图形
问题描述利用字母可以组成一些美丽的图形,下面给出了一个例子:ABCDEFGBABCDEFCBABCDEDCBABCDEDCBABC这是一个5行7列的图形,请找出这个图形的规律,并输出一个n行m列的图形。思路:除了自己写的又臭又长又有错的暴力,还是用一下简单的技巧把hhi和j差的绝对值作为‘A’的增数import java.util.*;public class Main { public static void main(String[] args) {原创 2021-01-03 09:32:25 · 144 阅读 · 2 评论 -
【蓝桥杯】基础练习十六进制转十进制
问题描述从键盘输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制数后输出。注:十六进制数中的10~15分别用大写的英文字母A、B、C、D、E、F表示。参考:https://blog.csdn.net/weixin_43728574/article/details/95197494思路:java的Integer的长度是4个字节,换算16进制最长长度为FFFF FFFF,所以使用BigInteger,大数是不能直接运算,只能使用自己的函数import java.math.BigIn原创 2021-01-02 16:06:53 · 1168 阅读 · 1 评论 -
【LeetCode】389. 找不同
给定两个字符串 s 和 t,它们只包含小写字母。字符串 t 由字符串 s 随机重排,然后在随机位置添加一个字母。请找出在 t 中被添加的字母。思路:1、创建数组对第一个字符串计数,对第二个字符串减数class Solution { public char findTheDifference(String s, String t) { int counter[] = new int[26]; for (char c:s.toChar原创 2021-01-02 10:27:07 · 66 阅读 · 0 评论 -
【LeetCode】算法初涉
旋转数组给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数。每一次转一次//数组nums 数组长度 旋转次数kvoid rotateByOne(int* nums, int numSize) { int temp = nums[numSize - 1], n, i; for (i = numSize - 1; i > 0; i--) { nums[i] = nums[i - 1]; } nums[0] = temp;}void rotate(int*原创 2021-01-02 10:09:25 · 66 阅读 · 0 评论 -
【蓝桥杯】入门训练 Fibonacci数列
问题描述Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1。当n比较大时,Fn也非常大,现在我们想知道,Fn除以10007的余数是多少。数据规模与约定1 <= n <= 1,000,000。思路:1、第一种情况,当n为1或2时直接返回12、第二种情况,当n>2,a、b向前进位,c是第三个数,直接求余1007import java.util.Scanner;public class Main { public static voi原创 2021-01-01 10:00:06 · 167 阅读 · 0 评论