模拟
文章平均质量分 80
李牧九丶
奉己为神
展开
-
从零学算法68
输入:words = [“Science”,“is”,“what”,“we”,“understand”,“well”,“enough”,“to”,“explain”,“to”,“a”,“computer.”,“Art”,“is”,“everything”,“else”,“we”,“do”],maxWidth = 20。输入: words = [“This”, “is”, “an”, “example”, “of”, “text”, “justification.”], maxWidth = 16。原创 2024-05-11 16:32:40 · 435 阅读 · 0 评论 -
从零学算法6
之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:“PAHNAPLSIIGYIR”。将一个给定字符串 s 根据给定的行数 numRows ,以从上往下、从左到右进行 Z 字形排列。输入:s = “PAYPALISHIRING”, numRows = 3。输入:s = “PAYPALISHIRING”, numRows = 4。输入:s = “A”, numRows = 1。输出:“PAHNAPLSIIGYIR”输出:“PINALSIGYAHRPI”原创 2024-05-11 13:22:55 · 995 阅读 · 0 评论 -
从零学算法2391
同时给你一个下标从 0 开始的整数数组 travel ,其中 travel[i] 是垃圾车从房子 i 行驶到房子 i + 1 需要的分钟数。输入:garbage = [“G”,“P”,“GP”,“GG”], travel = [2,4,3]收拾玻璃的垃圾车总共花费 13 分钟收拾完所有的玻璃垃圾。收拾玻璃的垃圾车花费 15 分钟收拾完所有的玻璃垃圾。收拾纸的垃圾车总共花费 8 分钟收拾完所有的纸垃圾。收拾金属的垃圾车花费 7 分钟收拾完所有的金属垃圾。收拾纸的垃圾车花费 15 分钟收拾完所有的纸垃圾。原创 2024-05-11 10:18:54 · 770 阅读 · 0 评论 -
从零学算法621
A -> B -> C -> A -> D -> E -> A -> F -> G -> A -> (待命) -> (待命) -> A -> (待命) -> (待命) -> A。输入:tasks = [“A”,“A”,“A”,“A”,“A”,“A”,“B”,“C”,“D”,“E”,“F”,“G”], n = 2。输入:tasks = [“A”,“A”,“A”,“B”,“B”,“B”], n = 2。输入:tasks = [“A”,“A”,“A”,“B”,“B”,“B”], n = 0。原创 2024-02-21 15:47:31 · 810 阅读 · 0 评论 -
从零学算法225
你只能使用队列的基本操作 —— 也就是 push to back、peek/pop from front、size 和 is empty 这些操作。你可以使用 list (列表)或者 deque(双端队列)来模拟一个队列 , 只要是标准的队列操作即可。.请你仅使用队列实现一个后入先出(LIFO)的栈,并支持普通栈的全部四种操作(push、top、pop 和 empty)。void push(int x) 将元素 x 压入栈顶。int pop() 移除并返回栈顶元素。int top() 返回栈顶元素。原创 2023-07-13 13:17:48 · 124 阅读 · 0 评论 -
从零学算法232
你 只能 使用标准的栈操作 —— 也就是只有 push to top, peek/pop from top, size, 和 is empty 操作是合法的。232.请你仅使用两个栈实现先入先出队列。你所使用的语言也许不支持栈。你可以使用 list 或者 deque(双端队列)来模拟一个栈,只要是标准的栈操作即可。否则,返回 false。void push(int x) 将元素 x 推到队列的末尾。int pop() 从队列的开头移除并返回元素。int peek() 返回队列开头的元素。原创 2023-07-12 17:45:55 · 465 阅读 · 0 评论 -
从零学算法155
设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈。--> 返回 -3.minStack.getMin();--> 返回 -2.void push(int val) 将元素val推入堆栈。int getMin() 获取堆栈中的最小元素。void pop() 删除堆栈顶部的元素。int top() 获取堆栈顶部的元素。MinStack() 初始化堆栈对象。原创 2023-07-07 17:44:33 · 200 阅读 · 0 评论 -
从零学算法38
描述前一项,这个数是 1211 即 “ 一 个 1 + 一 个 2 + 二 个 1 ” ,记作 “111221”描述前一项,这个数是 21 即 “ 一 个 2 + 一 个 1 ” ,记作 “1211”「外观数列」是一个整数序列,从数字 1 开始,序列中的每一项都是对前一项的描述。描述前一项,这个数是 11 即 “ 二 个 1 ” ,记作 “21”描述前一项,这个数是 1 即 “ 一 个 1 ”,记作 “11”给定一个正整数 n ,输出外观数列的第 n 项。原创 2023-04-26 15:00:17 · 24 阅读 · 0 评论 -
从零学算法8
具体来说,小于 −231 的整数应该被固定为 −231 ,大于 231 − 1 的整数应该被固定为 231 − 1。将前面步骤读入的这些数字转换为整数(即,“123” -> 123, “0032” -> 32)。由于 “-42” 在范围 [-231, 231 - 1] 内,最终结果为 -42。由于 “42” 在范围 [-231, 231 - 1] 内,最终结果为 42。第 2 步:" -42"(读入 ‘-’ 字符,所以结果应该是负数)解释:加粗的字符串为已经读入的字符,插入符号是当前读取的字符。原创 2023-04-24 17:10:04 · 18 阅读 · 0 评论 -
从零学算法946
给定 pushed 和 popped 两个序列,每个序列中的 值都不重复,只有当它们可能是在最初空栈上进行的推入 push 和弹出 pop 操作序列的结果时,返回 true;否则,返回 false。输入:pushed = [1,2,3,4,5], popped = [4,5,3,2,1]输入:pushed = [1,2,3,4,5], popped = [4,3,5,1,2]解释:1 不能在 2 之前弹出。原创 2023-10-11 13:53:57 · 154 阅读 · 0 评论 -
从零学算法54
他人题解:由于螺旋打印其实就是四个方向上的不断向内收缩,所以我们可以用四个变量 t(top),b(bottom),l(left),r(right) 来表示上下左右的边界,模拟一圈打印,你会发现,最开始顶部的从左到右,就是固定 t,从 l 到 r 遍历,第一行遍历完就需要收缩顶部,即 t+1;输入:matrix = [[1,2,3,4],[5,6,7,8],[9,10,11,12]]输出:[1,2,3,4,8,12,11,10,9,5,6,7]输出:[1,2,3,6,9,8,7,4,5]原创 2023-10-11 11:13:46 · 99 阅读 · 0 评论