- 博客(19)
- 资源 (14)
- 问答 (1)
- 收藏
- 关注
原创 vim支持nginx语法高亮
下载nginx源码,解压之后,将contribu/vim/*拷贝到~/.vim/目录,如果没有~/.vim/目录,则创建即可。cp -r contribu/vim/* ~/.vim/或mkdir -p ~/.vim/cp -r contribu/vim/* ~/.vim/此时再打开conf/nginx.conf就可以看到已经语法高亮了。...
2020-05-30 17:12:46 327
原创 有效电话号码
给定一个包含电话号码列表(一行一个电话号码)的文本文件 file.txt,写一个 bash 脚本输出所有有效的电话号码。你可以假设一个有效的电话号码必须满足以下两种格式: (xxx) xxx-xxxx 或 xxx-xxx-xxxx。(x 表示一个数字)你也可以假设每行前后没有多余的空格字符。示例:假设 file.txt 内容如下:987-123-4567123 456 7890(123) 456-7890你的脚本应当输出下列有效的电话号码:987-123-4567(123) 456
2020-05-30 11:35:43 1400
原创 实现strstr()
实现 strStr() 函数。给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回 -1。示例 1:输入: haystack = "hello", needle = "ll"输出: 2示例 2:输入: haystack = "aaaaa", needle = "bba"输出: -1说明:当 needle 是空字符串时,我们应当返回什么值呢?这是一个在面试中
2020-05-30 02:33:30 203
原创 打家劫舍
你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你 不触动警报装置的情况下 ,一夜之内能够偷窃到的最高金额。示例 1:输入: [1,2,3,1]输出: 4解释: 偷窃 1 号房屋 (金额 = 1) ,然后偷窃 3 号房屋 (金额 = 3)。 偷窃到的最高金额 = 1 + 3 = 4 。示例 2:
2020-05-29 02:15:42 158
原创 实现异常安全的String类
#include <string.h>#include <iostream>using namespace std;class String {public: String(const char *str=NULL); String(const String &another); String &operator=(const String &rhs); ~String(); void print() {
2020-05-28 14:41:32 190
原创 反转链表
反转一个单链表。示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */cla
2020-05-28 01:18:06 282
原创 使用最小花费爬楼梯
数组的每个索引作为一个阶梯,第 i个阶梯对应着一个非负数的体力花费值 costi。每当你爬上一个阶梯你都要花费对应的体力花费值,然后你可以选择继续爬一个阶梯或者爬两个阶梯。您需要找到达到楼层顶部的最低花费。在开始时,你可以选择从索引为 0 或 1 的元素作为初始阶梯。示例 1:输入: cost = [10, 15, 20]输出: 15解释: 最低花费是从cost[1]开始,然后走两步即可到阶梯顶,一共花费15。示例 2:输入: cost = [1, 100, 1, 1, 1, 10
2020-05-27 19:07:59 182
原创 和可被 K 整除的子数组
给定一个整数数组 A,返回其中元素之和可被 K 整除的(连续、非空)子数组的数目。示例:输入:A = [4,5,0,-2,-3,1], K = 5输出:7解释:有 7 个子数组满足其元素之和可被 K = 5 整除:[4, 5, 0, -2, -3, 1], [5], [5, 0], [5, 0, -2, -3], [0], [0, -2, -3], [-2, -3]提示:1 <= A.length <= 30000-10000 <= A[i] <= 100
2020-05-27 14:58:10 197
原创 C++归并排序
#include <vector>#include <iostream>using namespace std;class mergeSort {public: void merge_sort(vector<int>& numbers, int start, int end); void merge(vector<int>& numgbers, int start, int mid, int end);};voi
2020-05-21 22:36:31 254
原创 linux在指定目录多个文件中搜索关键字
find 文件目录 -name '*.*' -exec grep 'xxx' {} -n\;# -n显示行号find 文件目录 -name '*.*' | xargs grep 'xxx' -ngrep 'xxx' 文件目录 -Rngrep 'xxx' `find 文件目录 -name '*.*'`
2020-05-21 03:01:19 1556
原创 数组中出现次数超过一半的数
数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。你可以假设数组是非空的,并且给定的数组总是存在多数元素。示例 1:输入: [1, 2, 3, 2, 2, 2, 5, 4, 2]输出: 2限制:1 <= 数组长度 <= 50000class Solution {public: int majorityElement(vector<int>& nums) { std::map<int, int> num
2020-05-20 18:13:02 173
原创 爬楼梯
假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?注意:给定 n 是一个正整数。示例 1:输入: 2输出: 2解释: 有两种方法可以爬到楼顶。1. 1 阶 + 1 阶2. 2 阶示例 2:输入: 3输出: 3解释: 有三种方法可以爬到楼顶。4. 1 阶 + 1 阶 + 1 阶5. 1 阶 + 2 阶6. 2 阶 + 1 阶斐波那契数列class Solution {public:
2020-05-20 16:47:20 261
原创 三个数的最大乘积
给定一个整型数组,在数组中找出由三个数组成的最大乘积,并输出这个乘积。示例 1:输入: [1,2,3]输出: 6示例 2:输入: [1,2,3,4]输出: 24注意:给定的整型数组长度范围是[3,104],数组中所有的元素范围是[-1000, 1000]。输入的数组中任意三个数的乘积不会超出32位有符号整数的范围。先排序class Solution {public: void quickSort(vector<int>& nums, i
2020-05-18 03:21:30 279
原创 乘积的最大子数组
给你一个整数数组 nums ,请你找出数组中乘积最大的连续子数组(该子数组中至少包含一个数字),并返回该子数组所对应的乘积。示例 1:输入: [2,3,-2,4]输出: 6解释: 子数组 [2,3] 有最大乘积 6。示例 2:输入: [-2,0,-1]输出: 0解释: 结果不能为 2, 因为 [-2,-1] 不是子数组。c++class Solution {public: int maxProduct(vector<int>& nums) {
2020-05-18 02:28:51 277
原创 只出现一次的数字
给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?示例 1:输入: [2,2,1]输出: 1示例 2:输入: [4,1,2,1,2]输出: 4异或处理任何数和 00 做异或运算,结果仍然是原来的数,即 a \oplus 0=aa⊕0=a。任何数和其自身做异或运算,结果是 00,即 a \oplus a=0a⊕a=0。异或运算满足交换律和结合律,
2020-05-14 01:48:16 212
原创 数组中数字出现的次数
一个整型数组 nums 里除两个数字之外,其他数字都出现了两次。请写程序找出这两个只出现一次的数字。要求时间复杂度是O(n),空间复杂度是O(1)。示例 1:输入:nums = [4,1,4,6]输出:[1,6] 或 [6,1]示例 2:输入:nums = [1,2,10,4,1,4,3,3]输出:[2,10] 或 [10,2]限制:2 <= nums <...
2020-05-14 01:38:13 168
原创 二叉树的最小深度
给定一个二叉树,找出其最小深度。最小深度是从根节点到最近叶子节点的最短路径上的节点数量。说明: 叶子节点是指没有子节点的节点。示例:给定二叉树[3,9,20,null,null,15,7] 3 / \ 9 20 / \ 15 7返回它的最小深度 2.c++ 广度优先/** * Definition for a binary tree node. * struct TreeNode { * int val; * Tree
2020-05-14 01:20:59 224
原创 二叉树的最大深度
给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明: 叶子节点是指没有子节点的节点。示例:给定二叉树 [3,9,20,null,null,15,7] 3 / \ 9 20 / \ 15 7返回它的最大深度 3 。递归就是了c++ 解法/** * Definition for a binary tree node. * struct TreeNode { * int val; *
2020-05-13 21:33:40 188
原创 二叉树的层序遍历
给你一个二叉树,请你返回其按 层序遍历 得到的节点值。 (即逐层地,从左到右访问所有节点)。示例:二叉树:[3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回其层次遍历结果:[ [3], [9,20], [15,7]]/** * Definition for a binary tree node. * struct TreeNode { * int val; * Tree
2020-05-13 17:54:42 463
gcc-linaro-5.3.1-2016.05-i686_arm-linux-gnueabihf.tar.xz
2019-03-31
计算机通信基础大作业--RFID
2018-04-24
排序算法比较
2017-01-07
哈希表的应用
2017-01-06
麦田的最优灌溉方法
2017-01-06
二叉树的应用
2017-01-06
算术表达式求值
2017-01-06
超级小菜鸟求带我!!!
2015-11-04
TA创建的收藏夹 TA关注的收藏夹
TA关注的人