编程
jwy2014
这个作者很懒,什么都没留下…
展开
-
搜索旋转排序数组
class Solution {public: int search(vector<int>& nums, int target) { int size=nums.size()-1; int left=0; int right=size; while(left<=right){ int mid=left+(right-left)/2; if(nums[mi...原创 2021-04-07 14:27:57 · 74 阅读 · 0 评论 -
递增子序列
class Solution {public: vector<vector<int>> findSubsequences(vector<int>& nums) { set<vector<int>> st;//用 set 保存结果去重复 vector<int> cur;//当前子序列 dfs(st,cur,nums,0); vec...原创 2021-03-27 20:57:02 · 76 阅读 · 0 评论 -
结点删除三部曲
针对于结点删除,我先介绍剑指offer 18 删除链表的节点。题目:给定单向链表的头指针和一个要删除的节点的值,定义一个函数删除该节点。返回删除后的链表的头节点。示例:输入: head = [4,5,1,9], val = 5输出: [4,1,9]解释: 给定你链表中值为5的第二个节点,那么在调用了你的函数之后,该链表应变为 4 -> 1 -> 9.使用上面哑结点的技巧,结合模拟法的思考,很自然地得到下面的代码:/*** Definition for si...原创 2021-03-27 09:57:29 · 139 阅读 · 0 评论 -
647. 回文子串
647. 回文子串给定一个字符串,你的任务是计算这个字符串中有多少个回文子串。具有不同开始位置或结束位置的子串,即使是由相同的字符组成,也会被视作不同的子串。示例 1:输入:"abc"输出:3解释:三个回文子串: "a", "b", "c"示例 2:输入:"aaa"输出:6解释:6个回文子串: "a", "a", "a", "aa", "aa", "aaa"提示:输入的字符串长度不会超过 1000 。 class Solution {public:原创 2021-03-25 15:34:47 · 78 阅读 · 0 评论 -
c++ 28
C++学习笔记1、为了减少时间开销,如果在类体中定义的成员函数中不包括循环等控制结构,C++系统会自动将它们作为内置(inline)函数来处理。2、在指定默认参数时,一般只需在函数声明时指定,函数定义时不必重复指定默认参数。如果函数定义时也指定了默认参数,其值应与函数声明时一致,如果不一致,编译系统以函数声明时指定的默认参数值为准,函数定义时指定的默认参数不起作用。3、在一个类中定义了全部是默认参数的构造函数后,不能再定义重载构造函数;但如果构造函数中的参数并非全部为默认值时,就要分析具体情况。原创 2021-03-23 22:51:51 · 341 阅读 · 0 评论 -
发散你的思维,别约束自己
287. 寻找重复数难度中等1132给定一个包含n + 1个整数的数组nums,其数字都在1到n之间(包括1和n),可知至少存在一个重复的整数。假设nums只有一个重复的整数,找出这个重复的数。示例 1:输入:nums = [1,3,4,2,2]输出:2示例 2:输入:nums = [3,1,3,4,2]输出:3示例 3:输入:nums = [1,1]输出:1法1:class Solution {publ...原创 2021-03-21 21:15:32 · 109 阅读 · 0 评论 -
跳一跳
Jump Game Ibool canJump(vector<int>& nums) { int n = nums.size(); int farthest = 0; for (int i = 0; i < n - 1; i++) { // 不断计算能跳到的最远距离 farthest = max(farthest, i + nums[i]); // 可能碰到了 0,卡住跳不动了 .原创 2021-03-15 11:13:58 · 77 阅读 · 0 评论 -
打家劫舍三部曲
1:你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你 不触动警报装置的情况下 ,一夜之内能够偷窃到的最高金额。class Solution {public: int rob(vector<int>& nums) { int n=nums.size(); i原创 2021-03-12 21:24:20 · 111 阅读 · 0 评论 -
131. 分割回文串
131. 分割回文串难度中等592给你一个字符串s,请你将s分割成一些子串,使每个子串都是回文串。返回s所有可能的分割方案。回文串是正着读和反着读都一样的字符串。示例 1:输入:s = "aab"输出:[["a","a","b"],["aa","b"]]示例 2:输入:s = "a"输出:[["a"]]class Solution {public: vector<vector<string>> res; ...原创 2021-03-07 19:51:37 · 77 阅读 · 0 评论 -
二维区域和检索 - 矩阵不可变
https://leetcode-cn.com/problems/range-sum-query-2d-immutable/solution/er-wei-qu-yu-he-jian-suo-ju-zhen-bu-ke-b-2z5n/class NumMatrix {private: vector<vector<int>> data;public: NumMatrix(vector<vector<int>>& matrix)原创 2021-03-03 09:35:46 · 71 阅读 · 0 评论 -
cast
dynamic_cast主要用于类层次间的上行转换和下行转换,还可以用于类之间的交叉转换。在类层次间进行上行转换时,dynamic_cast和static_cast的效果是一样的;在进行下行转换时,dynamic_cast具有类型检查的功能,比static_cast更安全。在多态类型之间的转换主要使用dynamic_cast,因为类型提供了运行时信息。(1)下行转换,基类转换为子类,例如:智能指针转换类似于`shape*`转换为`circle*`使用dynamic_cast转换后,指针为空.此时资源..原创 2021-03-02 09:56:17 · 73 阅读 · 0 评论 -
c++ 类
/** * @file abstract.cpp * @brief 抽象类中:在成员函数内可以调用纯虚函数,在构造函数/析构函数内部不能使用纯虚函数 * 如果一个类从抽象类派生而来,它必须实现了基类中的所有纯虚函数,才能成为非抽象类 */#include<iostream>using namespace std;class A {public: virtual void f() = 0; // 纯虚函数 void g(){ this->f(); }.原创 2021-03-01 10:41:07 · 106 阅读 · 0 评论 -
函数调用二进制码并执行
typedef int(*AddFunc)(int, int);int main(){ // int add(int a, int b)函数64位系统下二进制码 unsigned char add_binaryCode[] = { 0x55, 0x48, 0x89, 0xe5, 0x89, 0x7d, 0xfc, 0x89, 0x75, 0xf8, 0x8b, 0x55, 0xfc, 0x8b, 0x45, 0xf8, 0x01, 0xd0, 0x5d, .原创 2021-02-28 22:07:54 · 659 阅读 · 0 评论 -
原子操作
目录1.原子操作介绍2.示例比较:不用锁及原子(结果错误)3.示例比较:用锁(耗时)4.示例比较:原子(更加简便,省时)1.原子操作介绍所谓的原子操作,取的就是“原子是最小的、不可分割的最小个体”的意义,它表示在多个线程访问同一个全局资源的时候,能够确保所有其他的线程都不在同一时间内访问相同的资源。也就是他确保了在同一时刻只有唯一的线程对这个资源进行访问。这有点类似互斥对象对共享资源的访问的保护,但是原子操作更加接近底层,因而效率更高。在以往的C++标准中并没有对原子操作进行规定,我们往原创 2021-02-26 09:47:26 · 145 阅读 · 0 评论 -
map vs unordered_map
内部实现机理map: map内部实现了一个红黑树,该结构具有自动排序的功能,因此map内部的所有元素都是有序的,红黑树的每一个节点都代表着map的一个元素,因此,对于map进行的查找,删除,添加等一系列的操作都相当于是对红黑树进行这样的操作,故红黑树的效率决定了map的效率。 unordered_map: unordered_map内部实现了一个哈希表,因此其元素的排列顺序是杂乱的,无序的优缺点以及适用处map 优点: 有序性,这是map结构最大的优点,其元素的有序性在很多应用中都会..原创 2021-02-25 10:02:13 · 116 阅读 · 0 评论 -
# C++ 多线程编程资料汇 #
-C++11-thenewISOC++standard:[http://www.stroustrup.com/C++11FAQ.html](http://www.stroustrup.com/C++11FAQ.html)-[http://en.cppreference.com/w/cpp/thread/thread](http://en.cppreference.com/w/cpp/thread/thread)-[http://www.cplusplus.com/referenc...原创 2021-02-22 13:41:24 · 81 阅读 · 0 评论 -
使用友元的好处
使用友元的好处:实现了不同类的成员函数和普通函数或者不同类的成员函数之间的数据共享,可以避免频繁地调用累的接口函数,节省程序的运行开销。使用的友元的坏处:破坏了了数据隐藏的特性。使用友元需要在安全性和效率之间折衷选择。...原创 2021-02-16 17:49:24 · 642 阅读 · 0 评论 -
C++11中default关键字
C++11添加了很多新特性,使C++看上去更加的灵活和面向对象,其中新关键字default值得我们关注一下。 我们知道有时候当我们仅创建了有参构造函数后,如果你想调用无参构造函数编译是会报错的。因为一旦你自己定义了构造函数,系统的默认构造函数是被屏蔽的,也就是说此时是没有无参构造函数的,所以我们需要自己定义一个无参构造函数。但是现在在C++11中,如果我们仅定义了有参构造函数,可以通过default关键字让默认构造函数恢复。具体实现如下:<span style="color:#000000"原创 2021-02-07 13:21:09 · 1158 阅读 · 2 评论 -
编写高质量代码改善C++程序的150个建议
第一部分 语法篇第1章从C继承而来的建议0:不用让main函数返回void main函数的返回类型是int,不是void或其它类型。建议1:区分0的4种面孔(1)、整型0;(2)、空指针NULL,指针与int类型所占空间是一样的,都是32位;(3)、字符串结束标志’\0’;(4)、逻辑FALSE/false,FALSE/TRUE是int类型,而false/true是bool类型。建议2:避免那些由运算符引发的混乱 不要...转载 2021-02-05 16:27:11 · 1165 阅读 · 0 评论 -
git cherry-pick
概述git cherry-pick可以理解为”挑拣”提交,它会获取某一个分支的单笔提交,并作为一个新的提交引入到你当前分支上。 当我们需要在本地合入其他分支的提交时,如果我们不想对整个分支进行合并,而是只想将某一次提交合入到本地当前分支上,那么就要使用git cherry-pick了。用法git cherry-pick [<options>] <commit-ish>...常用options: --quit 退出当前的chery转载 2021-01-24 20:29:01 · 150 阅读 · 0 评论 -
gtest
一、什仫是gtestgtest是一个跨平台的(Liunx、Mac OS X、Windows 、Cygwin 、Windows CE and Symbian ) C++单元测试框架,由google公司发布。gtest是为在不同平台上为编写C++测试而生成的。它提供了丰富的断言、致命和非致命判断、参数化、”死亡测试”等等。了解了什仫是gtest之后下面让我们来学习gtest的一些使用规则吧!一、gtest系列之TEST宏TEST(test_case_name, test_name)TEST_.原创 2021-01-18 20:56:49 · 267 阅读 · 0 评论 -
swich case字符串妙用
const char* str = "first";switch(str){case "first": cout << "1st one" << endl; break;case "second": cout << "2nd one" << endl; break;case "third": cout << "3rd one" << endl; break;default: cout << "Def.原创 2021-01-17 10:25:36 · 396 阅读 · 0 评论 -
类型强转
C++基类和派生类的智能指针转换:static_pointer_cast、dynamic_pointer_cast、const_pointer_cast、reinterpret_pointer_cast当我们用“裸”指针进行类层次上的上下行转换时,可以使用dynamic_cast。当然我们也可以使用static_cast,只是dynamic_cast在进行下行转换的时候(即基类到派生类)具有类型检查功能,而static_cast没有。因此存在安全问题。当我们使用智能指针时,如果需要进行类层次上的上下.原创 2021-01-17 10:20:57 · 432 阅读 · 0 评论 -
智能指针
智能指针、悬空指针智能指针(smart pointer)是存储指向动态分配(堆)对象指针的类,用于生存期控制,能够确保自动正确的销毁动态分配的对象,防止内存泄露。它的一种通用实现技术是使用引用计数(reference count)。智能指针类将一个计数器与类指向的对象相关联,引用计数跟踪该类有多少个对象共享同一指针。每次创建类的新对象时,初始化指针并将引用计数置为1;当对象作为另一对象的副本而创建时,拷贝构造函数拷贝指针并增加与之相应的引用计数;对一个对象进行赋值时,赋值操作符减少左操作数所指对象的引用原创 2021-01-06 22:25:54 · 55 阅读 · 0 评论 -
如何有效减少全局变量的使用
使用全局变量的优点是:可以减少变量的个数,减少由于实际参数和形式参数的数据传递带来的时间消耗。但是,使用全局变量也有许多缺点:(1)全局变量保存在静态存贮区,程序开始运行时为其分配内存,程序结束释放该内存。与局部变量的动态分配、动态释放相比,生存期比较长,因此过多的全局变量会占用较多的内存单元。(2)全局变量破坏了函数的封装性能。前面的章节曾经讲过,函数象一个黑匣子,一般是通过函数参数和返回值进行输入输出,函数内部实现相对独立。但函数中如果使用了全局变量,那么函数体内的语句就可以绕过函数参数和返回值进原创 2021-01-05 21:51:57 · 2285 阅读 · 0 评论 -
基础中的基础
sizeof()可以计算所有类型,strlen()仅计算字符串。char *a;char b[5];sizeof(a) = 8 ; // 64位系统,8代表的是指针的大小,指针占8字节sizeof(b) = 5 ; // 计算字符串数组的结果是真实的字符数组大小strlen(a) strlen(b) // 无固定值,因为strlen判断的唯一标准是'\0',它会根据a和b的指针看是一直向后找,知道碰到'\0',无论是不是自己字符串的结束标志'\0'.原创 2021-01-04 16:15:29 · 63 阅读 · 0 评论 -
gzwrite 例子
https://cpp.hotexamples.com/examples/-/-/gzwrite/cpp-gzwrite-function-examples.html原创 2020-12-27 20:51:25 · 556 阅读 · 0 评论 -
zlib流压缩--字符串
#include<iostream>#include<sstream>#include<fstream>#include<zlib.h>constexprautoBUFFER_SIZE=0x4000;//展開するstd::stringZlibInflate(std::string&data){autosize=static_cast<unsignedint>(da...原创 2020-12-25 13:37:43 · 638 阅读 · 0 评论 -
zstd压缩最终
/* * Copyright (c) 2016-2020, Yann Collet, Facebook, Inc. * All rights reserved. * * This source code is licensed under both the BSD-style license (found in the * LICENSE file in the root directory of this source tree) and the GPLv2 (found * in the .原创 2020-12-24 16:08:33 · 574 阅读 · 4 评论 -
持续不断压缩
/* * Copyright (c) 2016-2020, Yann Collet, Facebook, Inc. * All rights reserved. * * This source code is licensed under both the BSD-style license (found in the * LICENSE file in the root directory of this source tree) and the GPLv2 (found * in the .原创 2020-12-23 22:05:34 · 255 阅读 · 0 评论 -
字符串分成若干个字串进行流压缩
/**Copyright(c)2016-2020,YannCollet,Facebook,Inc.*Allrightsreserved.**ThissourcecodeislicensedunderboththeBSD-stylelicense(foundinthe*LICENSEfileintherootdirectoryofthissourcetree)andtheGPLv2(found*in...原创 2020-12-23 21:35:07 · 278 阅读 · 0 评论 -
socket编程
#include <stdio.h>#include <stdlib.h>#include <netdb.h>#include <netinet/in.h>#include <string.h>#include <sys/socket.h>#include <errno.h>#include <arpa/inet.h>void doprocessing (int sock);int hos.原创 2020-09-13 11:08:35 · 138 阅读 · 0 评论 -
getopt_long
#include <stdio.h>#if _WIN32#include "getopt.h"#else#include <getopt.h>#endif char *l_opt_arg;char *ouput_opt_arg;char* const short_options = "nbl:hvo:";struct option long_options[] = {{ "name", 0, NULL, 'n'},{ "NIU", 0, NULL, '.原创 2020-06-13 08:48:32 · 128 阅读 · 0 评论 -
CMake Error: Could not find CMAKE_ROOT
Cmake出现CMake Error: Could not find CMAKE_ROOT !!!Cmake出现CMake Error: Could not find CMAKE_ROOT !!!试了很多方式, 其实只需要这一句话!!!!!!hash -r原创 2020-02-08 14:55:05 · 933 阅读 · 1 评论 -
教你写Makefile
Makefile有简单写法和复杂写法,先上复杂写法。SRC = main.cppCC = g++test:test.o ./test.otest.o:$(SRC) $(CC) $(SRC) -o test.oclean: rm -rf *.o test.o简单写法:#1.使用变量改进makefile#2.使用静态模式规则...原创 2019-12-15 14:09:24 · 106 阅读 · 0 评论 -
假设你有一个链表, 输出两两翻转后的链表
// 假设你有一个链表, 输出两两翻转后的链表 // 1->2->3->4->5->6->7 // 2->1->4->3->6->5->7// 你必须定义一个 `main()` 函数入口。#include <iostream>using namespace std;struct node { ...原创 2019-11-02 22:59:03 · 137 阅读 · 0 评论 -
Visual Studio 各版本下载
http://pan.baidu.com/s/138YIE?errno=0&errmsg=Auth%20Login%20Sucess&&bduss=&ssnerror=0原创 2017-07-29 15:14:56 · 2459 阅读 · 0 评论 -
机器学习数据库
cifar10, cifar10_input car http://www.cs.toronto.edu/~kriz/cifar.html原创 2017-10-28 15:38:05 · 1035 阅读 · 0 评论 -
a regression model that predicts one model variable.
# -*- coding: utf-8 -*-"""Created on Mon Oct 30 20:11:38 2017@author: Administrator"""# 06_batch_stochastic_training.py# Batch and Stochastic Training#-------------------------------转载 2017-10-30 20:25:11 · 251 阅读 · 0 评论 -
caffe(window官方版win7+VS2013)
windows 10 64位 专业版(非必须)visual studio 2013(墙裂推荐此版本)http://blog.sina.com.cn/s/blog_74f32c400102wjli.htmlhttps://www.cnblogs.com/marso/p/caffe_win10_python.htmlhttps://www.cnblogs.com/blued原创 2017-11-14 21:13:26 · 164 阅读 · 0 评论