计算机题目
文章平均质量分 50
qq_42024963
这个作者很懒,什么都没留下…
展开
-
力扣-剑指 Offer 68 - II. 二叉树的最近公共祖先
给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”例如,给定如下二叉树: root = [3,5,1,6,2,0,8,null,null,7,4]给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足原创 2021-05-02 15:28:35 · 129 阅读 · 0 评论 -
力扣-面试题 16.25. LRU 缓存
设计和构建一个“最近最少使用”缓存,该缓存会删除最近最少使用的项目。缓存应该从键映射到值(允许你插入和检索特定键对应的值),并在初始化时指定最大容量。当缓存被填满时,它应该删除最近最少使用的项目。它应该支持以下操作: 获取数据 get 和 写入数据 put 。获取数据 get(key) - 如果密钥 (key) 存在于缓存中,则获取密钥的值(总是正数),否则返回 -1。写入数据 put(key, value) - 如果密钥不存在,则写入其数据值。当缓存容量达到上限时,它应该在写入新数据之前删除最近最少原创 2021-05-02 15:15:10 · 196 阅读 · 0 评论 -
力扣-153. 寻找旋转排序数组中的最小值
已知一个长度为 n 的数组,预先按照升序排列,经由 1 到 n 次 旋转 后,得到输入数组。例如,原数组 nums = [0,1,2,4,5,6,7] 在变化后可能得到:若旋转 4 次,则可以得到 [4,5,6,7,0,1,2]若旋转 7 次,则可以得到 [0,1,2,4,5,6,7]注意,数组 [a[0], a[1], a[2], …, a[n-1]] 旋转一次 的结果为数组 [a[n-1], a[0], a[1], a[2], …, a[n-2]] 。给你一个元素值 互不相同 的数组 nums原创 2021-05-01 18:36:14 · 252 阅读 · 0 评论 -
力扣-162. 寻找峰值
峰值元素是指其值大于左右相邻值的元素。给你一个输入数组 nums,找到峰值元素并返回其索引。数组可能包含多个峰值,在这种情况下,返回 任何一个峰值 所在位置即可。你可以假设 nums[-1] = nums[n] = -∞ 。示例 1:输入:nums = [1,2,3,1]输出:2解释:3 是峰值元素,你的函数应该返回其索引 2。示例 2:输入:nums = [1,2,1,3,5,6,4]输出:1 或 5解释:你的函数可以返回索引 1,其峰值元素为 2;或者返回索引 5, 其峰值元素为原创 2021-04-25 17:02:17 · 83 阅读 · 0 评论 -
力扣-42. 接雨水
给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。示例 1:输入:height = [0,1,0,2,1,0,1,3,2,1,2,1]输出:6解释:上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水(蓝色部分表示雨水)。示例 2:输入:height = [4,2,0,3,2,5]输出:9先从暴力开始入手,我们从当前的位置向两边拓展,然后如果遇到比当前大的就更新,要注意噢,在同原创 2021-04-16 21:39:49 · 71 阅读 · 0 评论 -
力扣-148. 排序链表
给你链表的头结点 head ,请将其按 升序 排列并返回 排序后的链表 。进阶:你可以在 O(n log n) 时间复杂度和常数级空间复杂度下,对链表进行排序吗?示例 1:输入:head = [4,2,1,3]输出:[1,2,3,4]示例 2:输入:head = [-1,5,3,4,0]输出:[-1,0,3,4,5]示例 3:输入:head = []输出:[]/** * Definition for singly-linked list. * struct ListNode原创 2021-04-16 18:57:38 · 56 阅读 · 0 评论 -
力扣-面试题 08.06. 汉诺塔问题
在经典汉诺塔问题中,有 3 根柱子及 N 个不同大小的穿孔圆盘,盘子可以滑入任意一根柱子。一开始,所有盘子自上而下按升序依次套在第一根柱子上(即每一个盘子只能放在更大的盘子上面)。移动圆盘时受到以下限制:(1) 每次只能移动一个盘子;(2) 盘子只能从柱子顶端滑出移到下一根柱子;(3) 盘子只能叠在比它大的盘子上。请编写程序,用栈将所有盘子从第一根柱子移到最后一根柱子。你需要原地修改栈。示例1:输入:A = [2, 1, 0], B = [], C = []输出:C = [2, 1, 0]原创 2021-04-16 17:28:53 · 133 阅读 · 0 评论 -
力扣-面试题59 - I. 滑动窗口的最大值
面试题59 - I. 滑动窗口的最大值给定一个数组 nums 和滑动窗口的大小 k,请找出所有滑动窗口里的最大值。示例:输入: nums = [1,3,-1,-3,5,3,6,7], 和 k = 3输出: [3,3,5,5,6,7]解释:滑动窗口的位置 最大值[1 3 -1] -3 5 3 6 7 31 [3 -1 -3] 5 3 6 7 31 3 [-1 -3 5] 3 6 7 51原创 2021-04-04 22:29:09 · 85 阅读 · 0 评论 -
力扣-剑指 Offer 59 - II. 队列的最大值
剑指 Offer 59 - II. 队列的最大值请定义一个队列并实现函数 max_value 得到队列里的最大值,要求函数max_value、push_back 和 pop_front 的均摊时间复杂度都是O(1)。若队列为空,pop_front 和 max_value 需要返回 -1示例 1:输入:[“MaxQueue”,“push_back”,“push_back”,“max_value”,“pop_front”,“max_value”][[],[1],[2],[],[],[]]输出: [原创 2021-04-04 21:51:20 · 81 阅读 · 0 评论 -
力扣-面试题 16.26. 计算器
给定一个包含正整数、加(+)、减(-)、乘(*)、除(/)的算数表达式(括号除外),计算其结果。表达式仅包含非负整数,+, - ,*,/ 四种运算符和空格 。 整数除法仅保留整数部分。示例 1:输入: “3+2*2”输出: 7示例 2:输入: " 3/2 "输出: 1示例 3:输入: " 3+5 / 2 "输出: 5这道题是做一个计算器。有几个问题需要解决1.加减乘除,乘除的优先级大于加减法2.只有通过加减乘除来分割数字,要知道,这道题没说只是涉及到一位数的加减乘除模拟,所以需要原创 2021-03-28 22:10:34 · 223 阅读 · 0 评论 -
力扣-739. 每日温度
请根据每日 气温 列表,重新生成一个列表。对应位置的输出为:要想观测到更高的气温,至少需要等待的天数。如果气温在这之后都不会升高,请在该位置用 0 来代替。例如,给定一个列表 temperatures = [73, 74, 75, 71, 69, 72, 76, 73],你的输出应该是 [1, 1, 4, 2, 1, 1, 0, 0]。提示:气温 列表长度的范围是 [1, 30000]。每个气温的值的均为华氏度,都是在 [30, 100] 范围内的整数。我们可以使用栈,以O(n)的时间发杂度来完成这件原创 2021-03-28 16:05:32 · 90 阅读 · 0 评论 -
力扣-206. 反转链表
反转一个单链表。示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL这里我想说的是,为什么初始值q不能从head开始,因为我们链表最后一定是null,如果不是null就不知道终点,所以,我们反转后,我们起初的null就是末尾这样就可以知道终点。当 t 遇到null,我们就停止,返回q因为t已经是链表的末尾了,我们返回t的下一个,故为q/** * Definition for singly-原创 2021-03-16 22:09:23 · 71 阅读 · 0 评论 -
力扣 -2. 两数相加
给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例 1:输入:l1 = [2,4,3], l2 = [5,6,4]输出:[7,0,8]解释:342 + 465 = 807.示例 2:输入:l1 = [0], l2 = [0]输出:[0]示例 3:输入:l1 = [9,9,9,9,9,9,9], l2 =原创 2021-03-16 18:52:33 · 99 阅读 · 0 评论 -
力扣-面试题 01.03. URL化
URL化。编写一种方法,将字符串中的空格全部替换为%20。假定该字符串尾部有足够的空间存放新增字符,并且知道字符串的“真实”长度。(注:用Java实现的话,请使用字符数组实现,以便直接在数组上操作。)示例 1:输入:"Mr John Smith ", 13输出:“Mr%20John%20Smith”示例 2:输入:" “, 5输出:”%20%20%20%20%20"提示:字符串长度在 [0, 500000] 范围内。这道题我们可以另外声明空间,当遇到非空格原创 2021-03-12 10:58:46 · 100 阅读 · 0 评论 -
力扣-1528. 重新排列字符串问题
给你一个字符串 s 和一个 长度相同 的整数数组 indices 。请你重新排列字符串 s ,其中第 i 个字符需要移动到 indices[i] 指示的位置。返回重新排列后的字符串。示例 1:输入:s = “codeleet”, indices = [4,5,6,7,0,2,1,3]输出:“leetcode”解释:如图所示,“codeleet” 重新排列后变为 “leetcode” 。示例 2:输入:s = “abc”, indices = [0,1,2]输出:“abc”解释:重新排列原创 2021-03-12 09:04:19 · 127 阅读 · 0 评论 -
寻找两个正序数组的中位数从暴力到优化
给定两个大小分别为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的 中位数 。示例 1:输入:nums1 = [1,3], nums2 = [2]输出:2.00000解释:合并数组 = [1,2,3] ,中位数 2示例 2:输入:nums1 = [1,2], nums2 = [3,4]输出:2.50000解释:合并数组 = [1,2,3,4] ,中位数 (2 + 3) / 2 = 2.5示例 3:输入:nums1 = [0,0], nums原创 2021-03-08 08:55:51 · 86 阅读 · 0 评论 -
无重复字符的最长子串
给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: s = “abcabcbb”输出: 3解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。示例 2:输入: s = “bbbbb”输出: 1解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。示例 3:输入: s = “pwwkew”输出: 3解释: 因为无重复字符的最长子串是 “wke”,所以其长度为 3。请注意,你的答案必须是 子串 的长度,“pwke” 是一个子序列,不是原创 2021-03-08 08:51:43 · 54 阅读 · 0 评论 -
1013 Battle Over Cities (25 分)
It is vitally important to have all the cities connected by highways in a war. If a city is occupied by the enemy, all the highways from/toward that city are closed. We must know immediately if we need to repair any other highways to keep the rest of the c原创 2021-02-18 19:22:22 · 71 阅读 · 0 评论 -
1082 Read Number in Chinese (25 分)另辟蹊径
Given an integer with no more than 9 digits, you are supposed to read it in the traditional Chinese way. Output Fu first if it is negative. For example, -123456789 is read as Fu yi Yi er Qian san Bai si Shi wu Wan liu Qian qi Bai ba Shi jiu. Note: zero (li原创 2021-02-15 16:32:28 · 49 阅读 · 0 评论 -
1083 List Grades (25 分)
Given a list of N student records with name, ID and grade. You are supposed to sort the records with respect to the grade in non-increasing order, and output those student records of which the grades are in a given interval.Input Specification:Each input原创 2021-02-11 13:26:06 · 78 阅读 · 0 评论 -
2021-02-11
Given a constant K and a singly linked list L, you are supposed to reverse the links of every K elements on L. For example, given L being 1→2→3→4→5→6, if K=3, then you must output 3→2→1→6→5→4; if K=4, you must output 4→3→2→1→5→6.Input Specification:Each原创 2021-02-11 11:54:36 · 78 阅读 · 0 评论 -
1048 Find Coins (25 分)第二个测试点
Eva loves to collect coins from all over the universe, including some other planets like Mars. One day she visited a universal shopping mall which could accept all kinds of coins as payments. However, there was a special requirement of the payment: for eac原创 2021-02-09 21:24:45 · 226 阅读 · 3 评论 -
习题11-6 查找子串 (20 分)
本题要求实现一个字符串查找的简单函数。函数接口定义:char *search( char *s, char *t );函数search在字符串s中查找子串t,返回子串t在s中的首地址。若未找到,则返回NULL。裁判测试程序样例:#include <stdio.h>#define MAXS 30char *search(char *s, char t);void ReadString( char s[] ); / 裁判提供,细节不表 */int main(){char s[M原创 2021-02-08 23:42:58 · 61 阅读 · 0 评论 -
习题11-4 字符串的连接 (15 分)
在网上看了很多代码,大部分都是使用strcat函数过关,相信出题人是想我们自己实现这个函数,如果一直使用库函数反而会阻碍我们思考,投机取巧达是不到学习的目的。首先我们先从题目的输出,输出两个相同的字符串,所以出题人暗示我们是在原字符串上操作。(我们直接在字符串 s 操作)。因为传入的指针是字符串的首地址,所以我们需要让指针指向字符串s的最后一个位置,我们知道字符串的最后一个字符是’\0’所以可以做一个while循环直到’\0’停止。这里注意的是,s 是一个指针不是字符,所以我们需要 *s取内容。然后再做原创 2021-02-08 21:31:18 · 590 阅读 · 0 评论 -
1022 Digital Library (30 分)python
A Digital Library contains millions of books, stored according to their titles, authors, key words of their abstracts, publishers, and published years. Each book is assigned an unique 7-digit number as its ID. Given any query from a reader, you are suppose原创 2021-02-07 20:28:34 · 194 阅读 · 0 评论 -
腾讯2020校园招聘计算机题目
今天给大家分享一道简单的腾讯校招题目题目题目分析我们来看,这道题关键在于 符号“ [ ”和符号“ ] ”,这道题的难点在于如何获取" [ “对应的” ] ",我们分析一下几种情况:情况一:AB[2|[2|AB]]AB这种情况的是第一个" [ “对应最后一个 " ] " ,第二个” [ “对应倒数第二个 " ] "情况二:AB[2|AB][2|AB] AB这种情况是第一个” [...原创 2020-01-17 11:20:06 · 465 阅读 · 1 评论