Contact me:

随笔分类 -  Java

摘要:递归玩熟了以后,看到啥都想来递归,简直是拿着锤子看啥都像钉子 但是这道题递归效率比较低,因为会扫到重复的部分 ##题目 给你一个单链表的头节点 head ,请你判断该链表是否为回文链表。如果是,返回 true ;否则,返回 false 。 示例 1: 输入:head = [1,2,2,1] 输出:t 阅读全文
posted @ 2021-11-25 09:22 impwa 阅读(34) 评论(0) 推荐(0)
摘要:这两天写几个递归算法题有点心得,记录一下 先说结论 递归过程:(判断条件)-进入--操作-(判断条件)-退出 rec(a){ if(满足退出)-退出 操作 rec(a) (操作) } 从链表逆序开始 // 获取节点所在位置,逆序 public int length(ListNode node, in 阅读全文
posted @ 2021-11-24 23:28 impwa 阅读(58) 评论(0) 推荐(0)
摘要:##题目 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例 1: 输入:l1 = [1,2,4], l2 = [1,3,4] 输出:[1,1,2,3,4,4] 示例 2: 输入:l1 = [], l2 = [] 输出:[] 示例 3: 输入:l1 阅读全文
posted @ 2021-11-24 15:48 impwa 阅读(35) 评论(0) 推荐(0)
摘要:感觉迭代法也挺巧妙的 ##题目 给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。 示例 1: 输入:head = [1,2,3,4,5] 输出:[5,4,3,2,1] 示例 2: 输入:head = [1,2] 输出:[2,1] 示例 3: 输入:head = [] 输出:[] 提 阅读全文
posted @ 2021-11-22 11:56 impwa 阅读(30) 评论(0) 推荐(0)
摘要:##思路 ###1 首先想到暴力解,遍历一遍总长度,然后就可知倒数项是第几项,然后再次遍历并计数,然后删除。 ###2 看到提示双指针恍然大悟,直接用滑动窗口就完事了。 但是处理head的时候就出问题了。 ###3 关键点在给头节点加一个头节点,但是返回时要返回原来的头节点! ##题目 给你一个链表 阅读全文
posted @ 2021-11-18 17:34 impwa 阅读(30) 评论(0) 推荐(0)
摘要:链表只需要创建一个表头,然后依次放到下一位就行了,类似一种递归关系,每个节点都有指向下一个节点的地址。 理解了这个,删除就只需要跳过这个节点直接从上一个到下一个,也就是把该节点换成下一个节点的参数,实际上存放下一个节点的地址被抛弃了。。 这道题就是考察一个LinkedList的理解 ##题目 请编写 阅读全文
posted @ 2021-11-18 10:54 impwa 阅读(58) 评论(0) 推荐(0)
摘要:看到题目先想到,直接建一个数组,然后读入关系,有关系的全部设定为一个数;但是存在一个问题:同一个点被更改两遍后关系就会断掉! 来看看怎么解吧。 ##题目 现在有10个强盗. 1 号强盗与2 号强盗是同伙。 3 号强盗与4 号强盗是同伙。 5 号强盗与2 号强盗是同伙。 4 号强盗与6 号强盗是同伙。 阅读全文
posted @ 2021-11-16 22:56 impwa 阅读(45) 评论(0) 推荐(0)
摘要:##main 找到最近(路程最短)节点————如有连接到其他节点最短路径,必通过最近节点 然后比较通过该中间节点与不经过的路径,取最小值 重复12(取过的节点不再取) ##题目 求每个节点到其他节点最小值 ##代码&结果 ###结果 ###起始二维数组 0 1 12 99 99 99 99 0 9 阅读全文
posted @ 2021-11-11 23:08 impwa 阅读(67) 评论(0) 推荐(0)
摘要:广度优先:每一步都列出所有可能 ##题目 迷宫由n 行m 列的单元格组成( n 和m 都=<50 ) ,每个单元格要么是空地, 要么 是障碍物。你的任务是帮助小哼找到一条从迷宫的起点通往小哈所在位置的最短路径。注意 障碍物是不能走的,当然小哼也不能走到迷宫之外。 ##代码 添加了个打印路线的功能 输 阅读全文
posted @ 2021-11-10 22:54 impwa 阅读(110) 评论(0) 推荐(0)
摘要:##题目 输入一个数n, 输出l~n 的全排列。 这里我们先将这个问题形象化,举个例子。假如有编号为1 、2 、3 的3 张扑克牌和编号为l 、2 、3 的3 个盒子。 现在需要将这3 张扑克牌分别放到3 个盒子里面,并且每个盒子有且只能放一张扑克牌。那么一共有多少种不同的放法呢? ##想法 我直接 阅读全文
posted @ 2021-11-08 23:32 impwa 阅读(82) 评论(0) 推荐(0)
摘要:用indexOf()就没意思了 ##题目 实现 strStr() 函数。 给你两个字符串 haystack 和 needle ,请你在 haystack 字符串中找出 needle 字符串出现的第一个位置(下标从 0 开始)。如果不存在,则返回 -1 。 说明: 当 needle 是空字符串时,我们 阅读全文
posted @ 2021-11-06 18:33 impwa 阅读(35) 评论(0) 推荐(0)
摘要:##:shit:一样的心情 看到题目文字量一下多起来,先别急读题 引用网友在上YB的评论 这题让我感受到了开发项目根据需求迭代的感觉了,本来感觉挺简单的个功能,一提交全是错,于是在原基础上加功能,越加越多,到最后感觉我的代码太臃肿了,全是判断,随意建的变量。。 这是我写的第一座:shit:山,先满足 阅读全文
posted @ 2021-11-05 16:46 impwa 阅读(26) 评论(0) 推荐(0)
摘要:##想法 终于写了一个比参考代码更优的解,没白花这么长时间思考!:grin: 看到题目应该马上可以想出最简单的解,就是统计一遍然后查找为1的值。但是我们肯定是要找更优解的 ∴我想到用边查找边匹配的方法My code ##题目 给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则 阅读全文
posted @ 2021-11-04 10:13 impwa 阅读(32) 评论(0) 推荐(0)
摘要:##题目 给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。 注意:若 s 和 t 中每个字符出现的次数都相同,则称 s 和 t 互为字母异位词。 示例 1: 输入: s = "anagram", t = "nagaram" 输出: true 示例 2: 输入: s = 阅读全文
posted @ 2021-11-03 10:08 impwa 阅读(49) 评论(0) 推荐(0)
摘要:##题目 :链接 编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。 不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。 示例 1: 输入:s = ["h","e","l","l","o"] 输出:["o","l","l 阅读全文
posted @ 2021-11-01 20:46 impwa 阅读(48) 评论(0) 推荐(0)
摘要:这个题因为java的指数运算搞错了卡了很久。。无语。。 a^b是java的异或位运算,指数运算是Math.pow(a,b) 位异或:第一个操作数的的第n位于第二个操作数的第n位 相反,那么结果的第n为也为1,否则为0 ##题目 -》链接《- 给你一个 32 位的有符号整数 x ,返回将 x 中的数字 阅读全文
posted @ 2021-10-31 13:59 impwa 阅读(72) 评论(0) 推荐(0)
摘要:##题目 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。 说明: 你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗? 示例 1: 输入: [2,2,1] 输出: 1 示例 2: 输入: [4,1,2,1,2] 输出: 4 作者:力 阅读全文
posted @ 2021-10-30 10:34 impwa 阅读(36) 评论(0) 推荐(0)
摘要:##题目 链接 给定一个整数数组,判断是否存在重复元素。 如果存在一值在数组中出现至少两次,函数返回 true 。如果数组中每个元素都不相同,则返回 false 。 示例 1: 输入: [1,2,3,1] 输出: true 示例 2: 输入: [1,2,3,4] 输出: false 示例 3: 输入 阅读全文
posted @ 2021-10-28 22:19 impwa 阅读(24) 评论(0) 推荐(0)
摘要:##题目 给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数。 进阶: 尽可能想出更多的解决方案,至少有三种不同的方法可以解决这个问题。 你可以使用空间复杂度为 O(1) 的 原地 算法解决这个问题吗? 示例 1: 输入: nums = [1,2,3,4,5,6,7], k = 3 阅读全文
posted @ 2021-10-28 10:11 impwa 阅读(39) 评论(0) 推荐(0)
摘要:##写在前面 之前的单线程版本没法自由输入和输出;用了多线程之后体验好了 ##代码 ###客户端 import java.io.*; import java.net.*; class CL { Socket cl; public CL(String ip) throws IOException { 阅读全文
posted @ 2021-10-27 23:48 impwa 阅读(83) 评论(0) 推荐(0)