![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
习题
日常刷题记录
木木夕 _
欢迎指正,非常感谢
可以按照专栏看^-^
展开
-
习题:搜索旋转排序数组(C语言)
题目整数数组 nums 按升序排列,数组中的值 互不相同 。在传递给函数之前,nums 在预先未知的某个下标 k(0 <= k < nums.length)上进行了 旋转,使数组变为 [nums[k], nums[k+1], …, nums[n-1], nums[0], nums[1], …,nums[k-1]](下标 从 0 开始 计数)。例如, [0,1,2,4,5,6,7] 在下标 3 处经旋转后可能变为 [4,5,6,7,0,1,2] 。给你 旋转后 的数组 nums原创 2021-10-17 16:47:34 · 156 阅读 · 0 评论 -
习题:最小栈(C语言)
题目设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈。push(x) —— 将元素 x 推入栈中。pop() —— 删除栈顶的元素。top() —— 获取栈顶元素。getMin() ——检索栈中的最小元素。示例:输入:[“MinStack”,“push”,“push”,“push”,“getMin”,“pop”,“top”,“getMin”][[],[-2],[0],[-3],[],[],[],[]]输出:[null,null,null,n原创 2021-10-16 20:22:40 · 335 阅读 · 0 评论 -
习题:除自身以外数组的乘积(C语言)
题目给你一个长度为 n 的整数数组 nums,其中 n > 1,返回输出数组 output ,其中 output[i] 等于 nums 中除nums[i] 之外其余各元素的乘积。示例:输入: [1,2,3,4]输出: [24,12,8,6]提示:数据保证数组之中任意元素的全部前缀元素和后缀(甚至是整个数组)的乘积都在 32 位整数范围内。说明:请不要使用除法,且在 O(n) 时间复杂度内完成此题。进阶:你可以在常数空间复杂度内完成这个题目吗?( 出于对空间复杂原创 2021-10-15 17:08:37 · 195 阅读 · 0 评论 -
习题:两两交换链表中的节点(C语言)
题目给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。示例 1:输入:head = [1,2,3,4]输出:[2,1,4,3]示例 2:输入:head = []输出:[]示例 3:输入:head = [1]输出:[1]提示:链表中节点的数目在范围 [0, 100] 内0 <= Node.val <= 100进阶:你能在不修改链表节点值的情况下解决这个问题吗?(也就是说,仅原创 2021-10-14 17:09:34 · 1022 阅读 · 2 评论 -
习题:整数转罗马数字(C语言)
题目罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。字符数值I1V5X10L50C100D500M1000例如罗马数字 2 写做 II ,即为两个并列的 1。12 写做 XII ,即为 X + II 。27 写做 XXVII, 即为 XX + V + II 。通常情况下,罗马数字中小的数字在大的数字的右边。但也存在特例,例如 4 不写做 IIII,而是 IV。数字 1 在数字 5 的左边,所原创 2021-10-13 17:08:33 · 338 阅读 · 0 评论 -
习题:盛最多水的容器(C语言)
题目给你 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:原创 2021-10-12 21:40:58 · 318 阅读 · 0 评论 -
习题: Z 字形变换(C语言)
题目将一个给定字符串 s 根据给定的行数 numRows ,以从上往下、从左到右进行 Z 字形排列。比如输入字符串为 “PAYPALISHIRING” 行数为 3 时,排列如下:之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:“PAHNAPLSIIGYIR”。请你实现这个将字符串进行指定行数变换的函数:string convert(string s, int numRows);示例 1:输入:s = “PAYPALISHIRING”, numRows =原创 2021-10-12 20:35:16 · 285 阅读 · 0 评论 -
习题:两数相加(C语言)
题目给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字 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原创 2021-10-12 18:13:31 · 150 阅读 · 0 评论 -
习题:已知一个等式,如何判断它是几进制(C语言)
如果在某系统中,等式15*4=112成立,则系统采用的是()进制A.6 B.7 C.8 D.9碰见简单题可采用法1 法2碰见较难题采用法3对于法三可做以下改进将其划为最简格式再进行计算例题2假设在n进制下,567*456=150216,n的值是()A.9 B.10 C.12 D.18...原创 2021-04-15 21:09:29 · 664 阅读 · 0 评论 -
习题:无重复字符的最长子串(C语言)
给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。提示:0 <= s.length <= 5 * 104s 由英文字母、数字、符号和空格组成题目来源:力扣(LeetCode)示例 1:输入: s = “abcabcbb”输出: 3解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。示例 2:输入: s = “bbbbb”输出: 1解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。示例 3:输入: s = “pww原创 2021-09-07 18:08:08 · 442 阅读 · 0 评论 -
习题:判断链表是否有环(C语言)
这是一个非常重要的知识点,在力扣和牛客网都会见到 先附上平时练习的代码,后边附上做力扣和牛客网时该题的代码#include<stdio.h>#include<assert.h>#include<malloc.h>#include"list.h"//关于"list.h"可在之前的文章中找//判断链表是否有环(有头结点)bool IsCircle(List plist){ assert(plist != NULL); if (plist == NULL .原创 2021-09-26 15:01:34 · 113 阅读 · 0 评论 -
习题:反转链表/链表逆置(C语言)
描述输入一个长度为n链表,反转链表后,输出新链表的表头。示例1输入:{1,2,3}返回值:{3,2,1}示例2输入:{}返回值:{}说明:空链表则输出空注意:这个题是没有头结点的单链表//题目所给内容 struct ListNode { int val; struct ListNode *next; };解答如下struct ListNode* ReverseList(struct ListNode* pHead ) { // write cod.原创 2021-09-26 13:21:11 · 184 阅读 · 0 评论