力扣刷题
文章平均质量分 60
ZHY_ERIC
这个作者很懒,什么都没留下…
展开
-
汉诺塔问题(java)
有I、II、III三个底座,底座上面可以放盘子。 初始时, I座上有n个盘子,这些盘子大小各不相同,大盘子在下,小盘子在上,依次排列,如下图1所示。 要求将I座上n个盘子移至III座上,每次只能移动1个,并要求移动过程中保持小盘子在上,大盘子在下,可借座实现移动(不能放在别处或拿在手中)。 编程序输出移动步骤。...原创 2022-08-17 10:08:23 · 479 阅读 · 0 评论 -
整数除法(不用*,/,%)
一、题目二、思路由于题目规定了「只能存储 32 位整数」,代码中都不会使用任何 64位整数。诚然,使用 64位整数可以极大地方便我们的编码,但这是违反题目规则的。如果除法结果溢出,那么我们需要返回-1作为答案。因此在编码之前,我们可以首先对于溢出或者容易出错的边界情况进行讨论:当被除数为 32位有符号整数的最小值-时: 如果除数为 1,那么我们可以直接返回答案-; 如果除数为 −1,那么答案为 ,,产生了溢出。此时我们需要返回 -...原创 2022-04-06 17:09:16 · 424 阅读 · 0 评论 -
23、合并k个排序链表
一、题目二、思路 这里需要用到前边所学的合并两个升序链表,函数如下:public ListNode mergeTwoLists(ListNode a, ListNode b) { if (a == null || b == null) { return a != null ? a : b; } ListNode head = new ListNode(0); ListNode tail = head, aPtr = a, bPt...原创 2022-04-05 21:02:46 · 2248 阅读 · 2 评论 -
18、四数之和
笔记原创 2022-04-01 15:40:29 · 122 阅读 · 0 评论 -
12、整数转罗马数字 —— 暴力法和贪心法
一、题目:二、解法1——暴力法罗列出每个位上所有可能出现,选择出每一位的罗马字0:对应第一位数字4、1:对应第二位数字2、3:对应第三位数字6;#include <string>#include <iostream>#include <vector>using namespace std;class Solution{public: string intToRoman(int num) {原创 2022-03-29 12:33:39 · 159 阅读 · 0 评论 -
11、盛水最多的容器
刷题笔记原创 2022-03-29 10:46:15 · 363 阅读 · 0 评论 -
02、两数相加
题目:给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字 0 之外,这两个数都不会以 0 开头。思路: 由于输入的两个链表都是逆序存储数字的位数的,因此两个链表中同一位置的数字可以直接相加。我们同时遍历两个链表,逐位计算它们的和,并与当前位置的进位值相加。...原创 2022-03-09 13:15:45 · 88 阅读 · 0 评论 -
01、两数之和
一、题目题目:给定一个整数数组 nums和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那两个整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。示例二、思路 看到这个题大家的第一思路应该是暴力枚举法2.1暴力枚举法最容易想到的方法是枚举数组中的每一个数 x,寻找数组中是否存在 target - x。...原创 2022-03-09 12:59:23 · 113 阅读 · 0 评论