自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 收藏
  • 关注

原创 华为面试题:判断数组内是否存在任意数的和等于给定的K

题目:给定数组a1,a2…an,n<10000。判断是否其中几个数之和为k,每个下标的数字仅可用一次。,若存在,返回true,不存在返回false。#include <iostream>#include<algorithm>using namespace std;bool IsContainNumTotalK(int *nums,int size,int k){ if (0 == size) { return false;

2021-07-23 23:34:30 603

原创 LeeCode11

11.盛最多水的容器给你 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-03-04 18:05:02 148 1

原创 LeeCode338

比特位计数给定一个非负整数 num。对于 0 ≤ i ≤ num 范围中的每个数字 i ,计算其二进制数中的 1 的数目并将它们作为数组返回。示例 1:输入: 2输出: [0,1,1]示例 2:输入: 5输出: [0,1,1,2,1,2]思路解析:1·简单的思路就是一个数一个数地算,就是逐位判断是否为1,之后累加。用移位也好用取余数也好,都是这么个思路。代码就不赘述了。复杂度O(n*sizeof(integer))2·用一种O(n)的方式,一边扫描。其实不难发现二进制数字的规律。0中.

2021-03-03 13:36:10 122

原创 链表原地反转

链表原地反转链表头节点有数据。否则反转后头结点有数据,而尾节点没有数据。思路很简单:假如原来的链表是:1->2->3->4->5->null第一个节点插入第二个节点之后:2->1->3->4->5->null再将2->1当做整体插入3之后:3->2->1->4->5->null...最后得到5->4->3->2->1->null返回结果的头结点指针复杂度是O(n

2021-01-28 15:38:41 338 1

原创 异常安全性问题

异常的安全性在程序没有发生异常的情况下能够正常运转的代码好写,但是在发生异常后,也能够保证程序不崩溃,成本就高一些。而编写异常安全的函数,即函数运行过程中,不产生异常,则是最高要求。如《C++语言程序设计(第四版)》中提到的入栈函数template<class T,int SIZE>void Stack<T, SIZE>::push(const T&item){ assert(!isFull()); list[++top] = item;}如果T是个复杂的

2021-01-25 17:33:09 359

原创 C++标准程序库中的异常处理

C++标准提供的标准异常类这些类以exception为基类,标准程序库抛出的类型对象,都是其派生类的对象。该类包含一个成员函数virtual const char* what() const throw();表明返回值为一个字符串,且不抛出任何异常。该函数可在派生类中重定义。习惯上,我们可以使用标准库中的异常类,如果不满足程序要求,可以自定义异常类。自定义异常类建议派生自Exception类或其派生类。各种派生标准异常类异常类头文件及含义bad_alloc< exc

2021-01-24 23:56:32 651

原创 C++异常处理基本介绍

C++异常处理以下选自《C++语言程序设计》(第四版)为了保持程序的健壮性,我们需要自行对程序加入异常处理。比如编写一个函数给其他人调用,需要考虑合法输入和非法输入,并进行相应的处理,保证出现死机和更为严重的后果。异常处理的基本思想程序运行的过程,可能产生的一些错误,大都是可以预见的,比如非法输入、逻辑错误(除0等)、硬件相关(内存不足、打印机等不可用之类)。而发现错误的底层函数,我们不要求它一定具备处理错误的能力,但是我们要求它一定要拥有向上报错的能力。即它的调用者可以处理这个错误,如果调用者也

2021-01-17 19:35:09 225

原创 多线程打印数组

多线程编程学习两个线程依次交替打印数组。A线程打印A数组,B线程打印B数组。#include <iostream>#include <thread>#include <mutex>#include <condition_variable>using namespace std;bool flag = true;mutex data_mutex;condition_variable data_var;int A[6] = { 1,2,3,4

2021-01-08 18:27:56 355

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除