自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C# 常用数据结构简单总结(与C++对比)

C# 常用数据结构简单总结(与C++对比)首先说明, C# 中的引用即为C++中的指针。 值类型:内置数据类型,自定义的struct,不包括string。它们分配在栈上,超出作用域自动销毁。 引用类型:自定义class或数组的实例以及string为引用类型,它们有一个引用(指针)指向它们。由GC负责回收。装箱:将值类型转换为引用类型的过程称为装箱int i = 67; // i is a v

2017-06-17 11:35:39 3030

原创 解决Ubuntu输入法图标消失,不能输入中文的问题

Ubuntu16右上角输入法图标突然消失,而且无法输入中文,可能是我刚安装的主题修改了系统配置导致的,我用的是fcitx,搜狗输入法。 解决办法: 1.清理搜狗输入法(可能不需要这一步) 删除用户目录~/.config文件夹内三个以Sogou开头的文件夹,这是搜狗输入法的配置文件夹。 2. 彻底卸载fcitxsudo apt remove fcitx上一条命令卸载不彻底,需要使用新立得软件包

2017-04-05 16:57:43 24520

原创 357. Count Numbers with Unique Digits 排列组合

题目地址简单的排列组合问题,数字一共10个,所以不重复的数最多占10位,也就是0<=x<10^10,只需要考虑n<=10的情况,从n位数到1一位数依次遍历,统计。 最后一个0单独考虑。class Solution {public: int countNumbersWithUniqueDigits(int n) { int ans = 0; if (n >

2017-03-30 16:40:52 523

原创 146. LRU Cache hash+链表

题目地址使用了一个hash表和一个链表,每次访问元素(get)或是添加元素都将元素置于链表的头部,尾部的自然就是最久未使用的。 hash表存储元素在链表中的位置,链表储存key-value,以方便超出容量时从hash表移除旧元素。class LRUCache {public: unordered_map<int, list<pair<int,int>>::iterator> ump;

2017-03-16 22:48:25 656

原创 Python socket编程笔记

Python socket编程笔记来源于Python socket – network programming tutorial 客户端#Socket client example in pythonimport socket #for socketsimport sys #for exit#create an INET, STREAMing sockettry: # 分别代表I

2017-03-08 16:14:57 457

原创 如何更改gnome-terminal下使用vim时不同模式下的光标形状

来源于vim的wiki, 里面有适合各种版本终端的设置,这里只列出gnome-terminal版本3.16以上的if has("autocmd") au VimEnter,InsertLeave * silent execute '!echo -ne "\e[1 q"' | redraw! au InsertEnter,InsertChange * \ if v:insertmod

2017-02-19 13:07:42 1551 2

原创 109. Convert Sorted List to Binary Search Tree

题目地址 和上题108类似,关键在于分割当前链表,记得将左子链表尾部置NULL。class Solution {public: TreeNode *sortedListToBST(ListNode *head) { if (!head) { return NULL; } int size = 0; L

2017-01-29 15:15:38 453

原创 108. Convert Sorted Array to Binary Search Tree 有序数组转换为平衡二叉搜索树

题目地址 要求二叉搜索树,则是左大右小,平衡的话,左右子树高度差不超过1,首先考虑大小为1,2,3……的数组,中间的为头结点,左边为左子树,右边为右子树,然后扩展到一般的数组,左右子数的构建用递归就可以了。class Solution {public: TreeNode *sortedArrayToBST(vector<int> &nums) { if (nums.emp

2017-01-29 15:09:12 284

原创 LearnOpenGL 1.5 纹理

纹理 Textures 本文整理自LearnOpenGL 及LearnOpenGL CN ,后者为前者的中文版, 完整学习的话建议前往原网站。纹理是一个2D图片(甚至也有1D和3D的纹理),它可以用来添加物体的细节。就像一张纸,可以无缝贴在你创建的物体上。 除了图像以外,纹理也可以被用来储存大量的数据,这些数据可以发送到着色器上。为了能够把纹理映射(Map)到三角形上,我们需要指定

2016-12-13 23:32:48 752

原创 LearnOpenGL 1.4 着色器

着色器shaders着色器只是一种运行在GPU上,把输入转化为输出的程序。着色器也是一种非常独立的程序,因为它们之间不能相互通信;它们之间唯一的沟通只有通过输入和输出。GLSL(OpenGL Shader Language)类似C的语言,必备组成部分:声明版本,输入和输出变量、uniform和main函数(main函数只能为void)。#version version_numberin type i

2016-12-13 23:15:48 692

原创 LearnOpenGL 1.3 你好,三角形

你好,三角形 本文整理自LearnOpenGL 及LearnOpenGL CN ,后者为前者的中文版, 完整学习的话建议前往原网站。 三个复杂的单词 顶点数组对象:Vertex Array Object,VAO 顶点缓冲对象:Vertex Buffer Object,VBO 索引缓冲对象:Element Buffer Object,EBO或Index Buffer Obj

2016-12-11 21:59:46 857

原创 LearnOpenGL 1.2 你好,窗口

你好,窗口 本文整理自LearnOpenGL 及LearnOpenGL CN ,后者为前者的中文版, 完整学习的话建议前往原网站。检测GLFW能否正常运行// GLEW#define GLEW_STATIC#include <GL/glew.h> //要放在其他OpenGL头文件的前面// GLFW#include <GLFW/glfw3.h>int main(){

2016-12-11 21:58:30 472

原创 1123. Is It a Complete AVL Tree (30)

题目地址 考了二叉平衡树,完全二叉树的判断,树的遍历,其中二叉平衡树写起来比较麻烦。 创建一个null结点,令所有的叶结点都指向它,这样在通过左右孩子结点更新高度时就不会访问到空指针,因为最底下就是null,而它不为空,它的高度设置为0;同时插入新结点insert(Node *&node,data)是递归插入,会插入到原树的叶结点下面,所以updateHeight()函数是从底向上一层一层更新高

2016-12-10 21:50:59 694 3

原创 1122. Hamiltonian Cycle (25)

题目地址要求给出的路径构成一个简单环(只有一圈),且包含所有结点才满足题目要求。 不满足要求的情况判断:路径不连通不符合要求;路径头尾结点出现次数应为2次,中间的为1次;所有点都必须出现过。//// Created by aleafall on 16-12-10.//#include <bits/stdc++.h>using namespace std;const int maxn = 205

2016-12-10 21:37:26 608 3

原创 1121. Damn Single (25)

题目地址使用map记录couple,当某人和它的另一半同时出现时,才不为single。//// Created by aleafall on 16-12-10.//#include <bits/stdc++.h>using namespace std;const int maxn = 100005;bool vis[maxn] = {0};int main() { int n, x1,

2016-12-10 21:30:02 543

原创 1120. Friend Numbers (20) 统计友元

题目地址直接统计,用set去重。//// Created by aleafall on 16-12-10.//#include <bits/stdc++.h>using namespace std;int main() { int n, m, x; set<int> st; cin >> n; for (int i = 0; i < n; ++i) {

2016-12-10 21:26:18 627

原创 Linux下安装简易OpenGL图像库(SOIL)

从其主页下载 下载之后解压,在终端下进入解压目录下的project/makefile文件夹cd 解压目录/project/makefile执行make这时候如果提示无法创建opt/image_helper.o等错误 则根据其makefile文件,手动创建一个opt文件夹,mkdir opt然后再次执行make,make成功之后,执行sudo make install就可以使用SOIL了。

2016-11-30 21:25:06 2729

原创 LearnOpenGL 1.1 创建窗口

创建窗口 本文整理自LearnOpenGL 及LearnOpenGL CN ,后者为前者的中文版。完整学习的话建议前往原网站。GLFWGLFW是一个专门针对OpenGL的C语言库,它提供了一些渲染物体所需的最低限度的接口。它允许用户创建OpenGL上下文,定义窗口参数以及处理用户输入。 GLFW在不同平台下使用时需要导入的头文件并不一样。GLEWGLEW(OpenGL Extension W

2016-11-30 21:06:24 514

原创 解决Linux/Ubuntu上搜狗输入法崩溃的问题

解决Linux/Ubuntu上搜狗输入法崩溃的问题Linux上最好的中文输入法是搜狗输入法,如果不考虑它的崩溃问题的话,早些安装的搜狗输入法频繁崩溃,很烦人,但是其他的输入法的联想输入能力明显没有搜狗的好,后来尝试了修改了皮肤使用方法,使用了一段时间没有崩溃过,看来应该是这个原因了。 方法:打开fcitx设置,切换到附加组件选项卡,取消经典界面的使用(也许需要点一下下面的高级)。 另外,请安装最

2016-11-30 20:41:35 13896

原创 1040. Longest Symmetric String (25)

题目地址 对于给定字符串(0~s.size()),从1到s.size()-1,向它的两边进行扩展, 对于cabad型以及cabbad型都要考虑。//// Created by aleafall on 16-11-25.//#include <iostream>#include <algorithm>#include <string>using namespace std;int main

2016-11-25 10:43:31 276

原创 236. Lowest Common Ancestor of a Binary Tree

题目地址/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */c

2016-10-19 16:56:45 247

原创 151. Reverse Words in a String 字符串

题目地址使用string str来暂存每次得到的单词,使用vector<string> vs来记录所有单词,对题目提供的字符串进行一次扫描,遇到非空格就追加到str中, 遇到空格就添加新的单词,并将现有str清空,防止重复添加。class Solution {public: void reverseWords(string &s) { string str;

2016-10-16 10:45:59 356

原创 Ubuntu下使用CLion开发cocos2dx

系统:Ubuntu16.04 r软件版本:CLion2016.2,cocos2dx 3.13 cocos官网下载cocos,解压到某个目录new, j终端进入解压目录的build文件夹,执行install-deps-linux.sh`,cd 解压目录cd build./install-deps-linux.sh会将依赖环境配置好,包括gcc,glfw等。 z如果要将游戏部署到安卓的话,需

2016-10-06 23:48:10 2040

原创 206. Reverse Linked List 链表

题目地址头插法。/** * Definition for singly-linked list. * */struct ListNode { int val; ListNode *next; ListNode(int x) : val(x), next(NULL) {}};class Solution {public: ListNode *reverseLis

2016-10-06 23:12:33 333

原创 67. Add Binary

题目地址二级制的大数运算,注意输入为0的情况。class Solution {public: string addBinary(string a, string b) { reverse(a.begin(), a.end()); reverse(b.begin(), b.end()); string ans; int i, c

2016-10-06 23:10:15 283

原创 66. Plus One

题目地址注意当输入为空时应该输出1.class Solution {public: vector<int> plusOne(vector<int> &digits) { reverse(digits.begin(), digits.end()); vector<int> ans; int carry = 0; for (int

2016-10-06 23:07:50 312

原创 43. Multiply Strings 大数

题目地址把较大的数作为被乘数,与乘数的每一位相乘,然后加到最后的结果上。 使用数组存储最后的结果,注意相乘后的位数。class Solution {public: string multiply(string num1, string num2) { string ans; const int maxn = num1.size() + num2.size(

2016-10-06 23:05:50 213

原创 19. Remove Nth Node From End of List 链表遍历

题目地址设置两个指针,一个先走n步,然后两个同步走,这样当前一个走到表尾的时候,后一个就走到了倒数第n个。/** * Definition for singly-linked list. * */struct ListNode { int val; ListNode *next; ListNode(int x) : val(x), next(NULL) {}};clas

2016-10-06 22:57:58 240

原创 14. Longest Common Prefix

题目地址dd注意判空class Solution {public: string longestCommonPrefix(vector<string> &strs) { string ans = ""; if (strs.size() == 0) return ans; int len = strs[0].size(); fo

2016-10-06 22:50:26 238

原创 2. Add Two Numbers 大数运算

题目地址注意长度不等时的情况class Solution {public: ListNode *addTwoNumbers(ListNode *l1, ListNode *l2) { vector<int> v1, v2, v3; while (l1 != NULL) { v1.push_back(l1->val);

2016-10-06 22:43:45 293

原创 1. Two Sum

题目地址直接枚举,复杂度O(n^2).class Solution {public: vector<int> twoSum(vector<int> &nums, int target) { vector<int> ans; for (int i = 0; i < nums.size(); ++i) { for (int j = i +

2016-10-06 22:37:52 176

原创 1119. Pre- and Post-order Traversals (30) 二叉树

题目地址//// Created by aleafall on 16-10-2.//#include <iostream>using namespace std;const int maxn = 31;int n, index = 0;int pre[maxn], post[maxn];bool flag = true;struct Node { int data; Node

2016-10-03 21:43:13 867

原创 1118. Birds in Forest (25) 并查集

题目地址和1107,1114题类似。//// Created by aleafall on 16-9-28.//#include <iostream>#include <set>using namespace std;const int maxn = 10005;int father[maxn];int findFather(int x) { if (father[x] == x) re

2016-10-03 21:41:25 285

原创 1117. Eddington Number(25) 模拟

题目地址//// Created by aleafall on 16-9-28.//#include <bits/stdc++.h>using namespace std;const int maxn = 100005;bool cmp(int a, int b) { return a > b;}int main() { int n, a[maxn]; cin >> n

2016-10-03 21:38:26 323

原创 1116. Come on! Let's C (20) 简单模拟

题目地址//// Created by aleafall on 16-9-28.//#include <iostream>using namespace std;bool isPrime(int n){ if (n<=1) return 0; for (int i = 2; i*i <= n; ++i) { if (n%i==0) return 0; }

2016-10-03 21:36:36 421

原创 1115. Counting Nodes in a BST (30) 二叉树

题目地址创建二叉搜索树并输出其最低两层的节点数目,使用先序遍历,注意当树只有一层时的情况。//// Created by aleafall on 16-10-3.//#include<iostream>#include<map>using namespace std;struct Node { int data; Node *lchild, *rchild;} *root;

2016-10-03 21:34:09 245

原创 1114. Family Property (25) 并查集

题目地址和前面的1107类似,只是更复杂一些。 使用一个结构体Mem来记录每个人名下的财产(es),地产(area),家庭成员数(num);借助’std::set’的去重功能,使用’set<>’记录所有出现的人的ID;使用map<int,vector<int>>记录集合根节点对应的所有子节点。并将集合中所有人的平均信息存储到该集合中ID最小的人头上,然后将其存入vector<int> final,

2016-10-03 21:26:43 292

原创 1107. Social Clusters (30) 并查集

题目地址用vector<int>数组来记录每次输入有这个爱好的人的ID, 用map<int,int>来统计有几个集合,注意最后统计时还要进行路径压缩。//// Created by aleafall on 16-10-3.//#include<iostream>#include<cstdio>#include<algorithm>#include<map>#include<vector

2016-10-03 21:12:32 493

原创 Linux下下载百度云大文件

百度云为了防止用户使用其他软件下载里面的文件(用其他软件下载速度很快),对其文件采用了动态链接的方式,每隔一两个小时下载链接就会改变,如果不能在一小时内完成下载,就会下载失败,而且一般不能恢复。 之前可以使用百度云linux客户端下载bcloud下载,但是最近bcloud出现网络错误,无法下载,而且作者也很久没更新了。 经过测试可以使用uGet(调用aria2)来进行下载,当下载失败时,需要手动

2016-07-22 16:01:14 19574 6

原创 Ubuntu下彻底删除wine

系统:ubuntu16.04 卸载wine之后,其wine及其快捷方式还存在于系统中,并且会出现在dock中,下面是删除方法,欢迎补充。 首先是卸载wine(旧系统使用apt-get代替apt)。sudo apt remove winesudo apt autoremovewine快捷方式的残留目录/usr/share/applications/ //wine快捷方式/

2016-07-20 13:35:10 49135 10

空空如也

空空如也

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

TA关注的人

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