04 2023 档案

摘要:title: 剑指Offer 10-I.斐波那契数列(c语言) 写一个函数,输入 n ,求斐波那契(Fibonacci)数列的第 n 项。斐波那契数列的定义如下: F(0) = 0, F(1) = 1 F(N) = F(N - 1) + F(N - 2), 其中 N > 1. 斐波那契数列由 0 和 阅读全文
posted @ 2023-04-22 14:08 调蓝师 阅读(74) 评论(0) 推荐(0)
摘要:title: 剑指Offer 57.和为s的两个数字(c语言) 输入一个递增排序的数组和一个数字s,在数组中查找两个数,使得它们的和正好是s。如果有多对数字的和等于s,则输出任意一对即可。 示例1: 输入:nums = [2,7,11,15], target = 9 输出:[2,7] 或者 [7,2 阅读全文
posted @ 2023-04-22 14:07 调蓝师 阅读(23) 评论(0) 推荐(0)
摘要:title: 剑指Offer59-I.滑动窗口的最大值(c语言) 给定一个数组 nums 和滑动窗口的大小 k,请找出所有滑动窗口里的最大值。 示例: 输入: nums = [1,3,-1,-3,5,3,6,7], 和 k = 3 输出: [3,3,5,5,6,7] 解释: 滑动窗口的位置 最大值 阅读全文
posted @ 2023-04-22 14:07 调蓝师 阅读(35) 评论(0) 推荐(0)
摘要:title: 链表 2、环形链表 快慢指针,快指针一次走两步,慢指针一次走一步。单链表有环的话,快慢指针会相遇。 /** * Definition for singly-linked list. * struct ListNode { * int val; * struct ListNode *ne 阅读全文
posted @ 2023-04-22 14:06 调蓝师 阅读(21) 评论(0) 推荐(0)
摘要:title: 八大排序算法(c语言实现) 小知识: 1)八大排序算法皆是内部排序。 2)稳定的算法在排序的过程中不会改变元素彼此的位置的相对次序。反之不稳定的算法会经常改变这个相对次序。 | 排序方法 | 时间复杂度(平均) | 时间复杂度(最坏) | 时间复杂度(最好) | 空间复杂度 | 稳定性 阅读全文
posted @ 2023-04-22 14:06 调蓝师 阅读(188) 评论(0) 推荐(0)
摘要:title: 牛客网——实现二叉树先序、中序和后序遍历 题目描述: 分别按照二叉树先序,中序和后序打印所有的节点。 示例: 输入: {1,2,3} 返回值: [[1,2,3],[2,1,3],[2,3,1]] 备注: $$ n \leqslant 10^6 $$ 代码如下: (照着别人的代码敲的,待 阅读全文
posted @ 2023-04-22 14:05 调蓝师 阅读(52) 评论(0) 推荐(0)
摘要:title: 数学&位运算 1、只出现一次的数字 知识点: 1)任何数字和它本身异或,结果是0 2)任何数字和0异或,结果是它自己 3)异或满足交换律和结合律 int singleNumber(int* nums, int numsSize){ int i, result=0; for(i=0; i 阅读全文
posted @ 2023-04-22 14:05 调蓝师 阅读(14) 评论(0) 推荐(0)
摘要:title: 数组 1、乘积最大子数组 2、多数元素 剔除元素法(Boyer-Moore投票算法): 原理:在原序列中去除两个不同的元素后,原序列中的多数元素在新序列中还是多数元素。 int majorityElement(int* nums, int numsSize){ int cur_numb 阅读全文
posted @ 2023-04-22 14:05 调蓝师 阅读(35) 评论(0) 推荐(0)
摘要:title: 牛客网——数组中出现次数超过一半的数字 题目描述: 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。 示例: 输入 [1,2 阅读全文
posted @ 2023-04-22 14:04 调蓝师 阅读(19) 评论(0) 推荐(0)
摘要:title: Linux&&网络通信 一、进程 (1)什么是进程? 进程是程序执行的过程,是linux的基本调度单位。 (2)进程和程序的区别。 程序是静态的,它是一些保存在磁盘上的指令的有序集合; 而进程是一个动态的概念,它是一个运行着的程序,包含了进程的动态创建、调度和消亡的过程。 (3)进程间 阅读全文
posted @ 2023-04-22 14:04 调蓝师 阅读(32) 评论(0) 推荐(0)
摘要:title: 剑指Offer 10-II.青蛙跳台阶问题(c语言) 一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶。求该青蛙跳上一个 n 级的台阶总共有多少种跳法。 答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。 示例1: 输入:n = 2 阅读全文
posted @ 2023-04-22 14:03 调蓝师 阅读(30) 评论(0) 推荐(0)
摘要:title: 剑指Offer 24.反转链表(c语言) 定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。 示例: 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL 限制: $$ 0 \leqslant 节点个数 \leqslant 阅读全文
posted @ 2023-04-22 14:02 调蓝师 阅读(36) 评论(0) 推荐(0)
摘要:title: 剑指Offer 53-II. 0~n-1中缺失的数字(c语言) 一个长度为n-1的递增排序数组中的所有数字都是唯一的,并且每个数字都在范围0~n-1之内。在范围0~n-1内的n个数字中有且只有一个数字不在该数组中,请找出这个数字。 示例1: 输入: [0,1,3] 输出: 2 示例2: 阅读全文
posted @ 2023-04-22 14:02 调蓝师 阅读(26) 评论(0) 推荐(0)
摘要:title: 剑指Offer 05.替换空格(c语言) 请实现一个函数,把字符串 s 中的每个空格替换成"%20"。 示例1: 输入:s = "We are happy." 输出:"We%20are%20happy." 限制: $$ 0 \leqslant s的长度 \leqslant 10000 阅读全文
posted @ 2023-04-22 13:57 调蓝师 阅读(32) 评论(0) 推荐(0)
摘要:title: 剑指Offer 03.数组中重复的数字(c语言) 找出数组中重复的数字。 在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。 示例1: 输入: [2, 阅读全文
posted @ 2023-04-22 13:56 调蓝师 阅读(46) 评论(0) 推荐(0)
摘要:title: 动态规划 6、最长上升子序列 (1)采用动态规划,算法复杂度为O(n*n) int lengthOfLIS(int* nums, int numsSize){ int i, j, max=1; if(NULL==nums || 0==numsSize){ return 0; } int 阅读全文
posted @ 2023-04-22 13:54 调蓝师 阅读(27) 评论(0) 推荐(0)
摘要:title: 20220622leetcode周赛(前3道) 第一题,难度:简单 6101. 判断矩阵是否是一个 X 矩阵 题目描述: 如果一个正方形矩阵满足下述 全部 条件,则称之为一个 X 矩阵 : 矩阵对角线上的所有元素都 不是 0 矩阵中所有其他元素都是 0 给你一个大小为 n x n 的二 阅读全文
posted @ 2023-04-22 13:51 调蓝师 阅读(26) 评论(0) 推荐(0)
摘要:title: 力扣——554砖墙(c语言) 题目描述: 你的面前有一堵矩形的、由多行砖块组成的砖墙。 这些砖块高度相同但是宽度不同。你现在要画一条自顶向下的、穿过最少砖块的垂线。 砖墙由行的列表表示。 每一行都是一个代表从左至右每块砖的宽度的整数列表。 如果你画的线只是从砖块的边缘经过,就不算穿过这 阅读全文
posted @ 2023-04-22 13:50 调蓝师 阅读(36) 评论(0) 推荐(0)
摘要:title: 力扣——240.搜索二维数组II(c语言) 同《剑指offer》04 题目描述: 编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target 。该矩阵具有以下特性: 每行的元素从左到右升序排列。 每列的元素从上到下升序排列。 示例1: 输入:matrix = 阅读全文
posted @ 2023-04-22 13:50 调蓝师 阅读(44) 评论(0) 推荐(0)
摘要:title: leetcode200.岛屿数量 题目描述: 给你一个由 '1'(陆地)和 '0'(水)组成的的二维网格,请你计算网格中岛屿的数量。 岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。 此外,你可以假设该网格的四条边均被水包围。 示例1: 输入:grid 阅读全文
posted @ 2023-04-22 13:49 调蓝师 阅读(22) 评论(0) 推荐(0)
摘要:title: 力扣——195.第十行(shell) 给定一个文本文件 file.txt,请只打印这个文件中的第十行。 示例: 假设 file.txt 有如下内容: Line 1 Line 2 Line 3 Line 4 Line 5 Line 6 Line 7 Line 8 Line 9 Line 阅读全文
posted @ 2023-04-22 13:48 调蓝师 阅读(80) 评论(0) 推荐(0)
摘要:title: 力扣——193.有效电话号码(shell) 给定一个包含电话号码列表(一行一个电话号码)的文本文件 file.txt,写一个 bash 脚本输出所有有效的电话号码。 你可以假设一个有效的电话号码必须满足以下两种格式: (xxx) xxx-xxxx 或 xxx-xxx-xxxx。(x 表 阅读全文
posted @ 2023-04-22 13:46 调蓝师 阅读(114) 评论(0) 推荐(0)
摘要:title: 力扣——192.统计词频(shell) 题目描述: 写一个 bash 脚本以统计一个文本文件 words.txt 中每个单词出现的频率。 为了简单起见,你可以假设: words.txt只包括小写字母和 ' ' 。 每个单词只由小写字母组成。 单词间由一个或多个空格字符分隔。 示例: 假 阅读全文
posted @ 2023-04-22 13:45 调蓝师 阅读(59) 评论(0) 推荐(0)
摘要:title: 力扣——121.买卖股票的最佳时机(C语言) 题目描述: 给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。 如果你最多只允许完成一笔交易(即买入和卖出一支股票一次),设计一个算法来计算你所能获取的最大利润。 注意:你不能在买入股票前卖出股票。 示例1: 输入: [7,1 阅读全文
posted @ 2023-04-22 13:45 调蓝师 阅读(202) 评论(0) 推荐(0)
摘要:title: 力扣——83.删除排序链表中的重复元素(c语言) 题目描述: 给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。 示例1: 输入:1->1->2 输出:1->2 示例2: 输入:1->1->2->3->3 输出:1->2->3 代码如下: /** * Definition 阅读全文
posted @ 2023-04-22 13:43 调蓝师 阅读(50) 评论(0) 推荐(0)
摘要:title: 力扣——21.合并两个有序链表(c语言) 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例: 输入:1->2->4, 1->3->4 输出:1->1->2->3->4->4 1、递归实现: /** * Definition for 阅读全文
posted @ 2023-04-22 13:42 调蓝师 阅读(240) 评论(0) 推荐(0)
摘要:title: 剑指Offer 09.用两个栈实现队列(c语言) 用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead 操作返回 -1 ) 示例1: 输 阅读全文
posted @ 2023-04-22 13:42 调蓝师 阅读(20) 评论(0) 推荐(0)
摘要:题目描述: 给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。 示例1: 输入: "babad" 输出: "bab" 注意: "aba" 也是一个有效答案。 示例2: 输入: "cbbd" 输出: "bb" 1、思路1:动态规划 对于一个子串而言,如果它是回文子 阅读全文
posted @ 2023-04-22 13:33 调蓝师 阅读(187) 评论(0) 推荐(0)