算法
Oh No 发量又少了
我是一个快乐的程序猿,虽然头发少,但是我很快乐
展开
-
华机 坐标移动 js实现
开发一个坐标计算工具, A表示向左移动,D表示向右移动,W表示向上移动,S表示向下移动。从(0,0)点开始移动,从输入字符串里面读取一些坐标,并将最终输入结果输出到输出文件里面。合法坐标为A(或者D或者W或者S) + 数字(两位以内)非法坐标点需要进行丢弃。1≤n≤10000 ,坐标保证满足。数据范围:每组输入的字符串长度满足。B10A11 = 无效。−1 ,且数字部分仅含正数。结果 (10, -10)A1A = 无效。x = 无效。最终坐标,以逗号分隔。原创 2023-04-17 09:00:26 · 576 阅读 · 0 评论 -
华机 数字颠倒 js实现
程序不考虑负数的情况,若数字含有0,则逆序形式也含有0,如输入为100,则输出为001。输入一个整数,将这个整数以字符串的形式逆序输出。将这个整数以字符串的形式逆序输出。原创 2023-04-16 21:03:04 · 157 阅读 · 0 评论 -
华机 字符个数统计 js实现
编写一个函数,计算字符串中含有的不同字符的个数。字符在 ASCII 码范围内( 0~127 ,包括 0 和 127 ),换行表示结束符,不算在字符里。不在范围内的不作统计。多个相同的字符只计算一次。例如,对于字符串 abaca 而言,有 a、b、c 三种不同的字符,因此输出 3。输出 输入字符串 中范围在(0~127,包括0和127)字符的种数。输入一行没有空格的字符串。原创 2023-04-16 20:38:05 · 56 阅读 · 0 评论 -
华机 提取不重复的整数 js实现
输入一个 int 型整数,按照从右向左的阅读顺序,返回一个不含重复数字的新的整数。按照从右向左的阅读顺序,返回一个不含重复数字的新的整数。保证输入的整数最后一位不是 0。输入一个int型整数。原创 2023-04-16 20:34:36 · 53 阅读 · 0 评论 -
华机 合并表记录 js实现
数据表记录包含表索引index和数值value(int范围的正整数),请对表索引相同的记录进行合并,即将相同索引的数值进行求和运算,输出按照index值升序进行输出。接下来n行每行输入成对的index和value值,以空格隔开。先输入键值对的个数n(1原创 2023-04-16 20:29:00 · 74 阅读 · 0 评论 -
华机 取近似值 js实现
写出一个程序,接受一个正浮点数值,输出该数值的近似整数值。如果小数点后数值大于等于 0.5 ,向上取整;小于 0.5 ,则向下取整。数据范围:保证输入的数字在 32 位浮点数范围内。输出该数值的近似整数值。原创 2023-04-16 17:37:26 · 87 阅读 · 0 评论 -
华机 质数因子 js实现
功能:输入一个正整数,按照从小到大的顺序输出它的所有质因子(重复的也要列举)(如180的质因子为2 2 3 3 5 )按照从小到大的顺序输出它的所有质数的因子,以空格隔开。原创 2023-04-16 17:04:56 · 95 阅读 · 0 评论 -
华机 进制转换 js实现
写出一个程序,接受一个十六进制的数,输出该数值的十进制表示。输出该数值的十进制字符串。不同组的测试用例用\n隔开。输入一个十六进制的数值字符串。数据范围:保证结果在。原创 2023-04-16 17:01:27 · 58 阅读 · 0 评论 -
华机 字符串分隔 js实现
•输入一个字符串,请按长度为8拆分每个输入字符串并进行输出;•长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。连续输入字符串(每个字符串长度小于等于100)依次输出所有分割后的长度为8的新字符串。原创 2023-04-16 16:56:00 · 82 阅读 · 0 评论 -
华机 明明的随机数 js实现
明明生成了N个1到500之间的随机整数。请你删去其中重复的数字,即相同的数字只保留一个,把其余相同的数去掉,然后再把这些数从小到大排序,按照排好的顺序输出。第一行先输入随机整数的个数 N。接下来的 N 行每行输入一个整数,代表明明生成的随机数。具体格式可以参考下面的"示例"。数据范围: 1≤n≤1000 ,输入的数字大小满足 1≤val≤500。输出多行,表示输入数据处理后的结果。原创 2023-04-16 16:52:13 · 112 阅读 · 0 评论 -
华机 计算某字符出现次数 js实现
写出一个程序,接受一个由字母、数字和空格组成的字符串,和一个字符,然后输出输入字符串中该字符的出现次数。(不区分大小写字母)第一行输入一个由字母、数字和空格组成的字符串,第二行输入一个字符(保证该字符不为空格)。输出输入字符串中含有该字符的个数。(不区分大小写字母)原创 2023-04-15 20:00:00 · 86 阅读 · 0 评论 -
华机 字符串最后一个单词的长度 js实现
计算字符串最后一个单词的长度,单词以空格隔开,字符串长度小于5000。(注:字符串末尾不以空格为结尾)输入一行,代表要计算的字符串,非空,长度小于5000。输出一个整数,表示输入字符串最后一个单词的长度。原创 2023-04-15 19:37:49 · 89 阅读 · 0 评论 -
双指针(一)
在链表和数组的题目中双指针很多次会被用到,本篇文章主要针对链表。原创 2022-07-18 09:31:15 · 114 阅读 · 0 评论 -
有效字母异位词
力扣题目链接给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。注意:若 s 和 t 中每个字符出现的次数都相同,则称 s 和 t 互为字母异位词。示例 1:输入: s = "anagram", t = "nagaram"输出: true示例 2:输入: s = "rat", t = "car"输出: false为什么不可以用异位class Solution { public boolean isAnagram(String s, String t原创 2022-02-15 20:11:46 · 209 阅读 · 0 评论 -
删除链表中第N个节点
力扣题目链接给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。示例 1:输入:head = [1,2,3,4,5], n = 2输出:[1,2,3,5]示例2:输入:head = [1], n = 1输出:[]示例3:输入:head = [1,2], n = 1输出:[1]方法一:快慢双指针快指针先移动倒数的位数(比如倒数第二个那么快指针就先移动两位),然后快慢指针同时移动,当快指针移动到最后一个节点的时候,满指针刚好移动到指定删除位置的前一位,这个时候执行删原创 2022-02-11 21:36:50 · 768 阅读 · 0 评论 -
两两交换链表中的节点
题目给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。实例1:输入:head = [1,2,3,4]输出:[2,1,4,3]实例2:输入:head = []输出:[]实例3:输入:head = [1]输出:[1]自己的错误解法设置了两个节点,一个节点before让其等于head一个after等于head的下一个节点,然后让before节点指向after的下一个节点,让after指向before完原创 2022-02-11 17:20:22 · 262 阅读 · 0 评论 -
翻转单词顺序
输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。为简单起见,标点符号和普通字母一样处理。例如输入字符串"I am a student. “,则输出"student. a am I”。实例1:输入: "the sky is blue"输出: "blue is sky the"实例2:输入: " hello world! "输出: "world! hello"解释: 输入字符串可以在前面或者后面包含多余的空格,但是反转后的字符不能包括。示例 3:输入: "a good原创 2021-10-30 09:36:48 · 78 阅读 · 0 评论 -
简说Java排序
排序文章目录排序1. 简单排序1.1 Comparable接口介绍1.2 冒泡排序1.3 选择排序1.4 插入排序2. 高级排序2.1 希尔排序2.2 归并排序2.2.1 递归2.2.2 归并排序2.3 快速排序2.4 排序的稳定性1. 简单排序在我们的程序中,排序是非常常见的一种需求,提供一些数据元素,把这些数据元素按照一定的规则进行排序。比 如查询一些订单,按照订单的日期进行排序;再比如查询一些商品,按照商品的价格进行排序等等。所以,接下来 我们要学习一些常见的排序算法。在java的开发工具包j原创 2021-10-16 22:11:24 · 93 阅读 · 0 评论 -
力扣算法题爬楼梯
假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?**注意:**给定 n 是一个正整数。实例1:输入: 2输出: 2解释: 有两种方法可以爬到楼顶。 1 阶 + 1 阶 2 阶实例2输入: 3输出: 3解释: 有三种方法可以爬到楼顶。 1 阶 + 1 阶 + 1 阶 1 阶 + 2原创 2021-08-09 20:24:30 · 64 阅读 · 0 评论 -
成水最多的容器
给你 n 个非负整数 a1,a2,…,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0) 。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。说明:你不能倾斜容器。实例1输入:[1,8,6,2,5,4,8,3,7]输出:49解释:图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(表示为蓝色部分)的最大值为 49。示例 2:输入:height =原创 2021-08-09 20:22:45 · 73 阅读 · 0 评论