Self-Culture
文章平均质量分 72
WhiteJunior
这个作者很懒,什么都没留下…
展开
-
C++ Re-Study
买了C++的书本,重新对C++进行学习#include<iostream>#include<string>#include<vector>#include<algorithm>#include<cmath>using namespace std;inline void keep_window_open() { char...原创 2017-10-11 14:05:40 · 637 阅读 · 0 评论 -
编写一个程序 -8
计算器程序 对于计算的优先级问题,如何从输入读取包括数字和操作符在内的表达式的方法,并以一种合理的方式进行存储? 分词(tokenize):读取输入字符并组合成单词(token) 单词可以看做一个单元的一个字符序列,例如数字或者运算符。 利用(kind,value)的形式来表示单词,其中kind表示单词是一个数字、运算符还是括号。value所保存的为值(比如如果是数字那么就是数值)如何...原创 2017-10-15 21:27:33 · 376 阅读 · 0 评论 -
编写一个程序(计算器的程序实现) -9
继续编写的计算器程序:#include&lt;iostream&gt;#include&lt;string&gt;#include&lt;vector&gt;#include&lt;algorithm&gt;#include&lt;cmath&gt;#include&lt;limits.h&gt;原创 2017-10-20 14:35:08 · 4405 阅读 · 0 评论 -
函数相关的技术细节-10
声明和定义 声明:将名字引入作用域,为命名实体(变量,函数等)指定一个类型。同时也可以进行初始化。 在C++中,所有的名字都必须先声明才能使用。 定义:对声明的实体的完整描述对变量来说,声明仅仅提供了类型,只有定义才能提供对象(存储空间)。 对函数来说,声明也只是提供了类型(参数类型和返回类型),只有定义才提供函数体。C++规范要求名字在使用前需要定义,因此很多时候我们要用到前...原创 2017-10-22 10:28:16 · 191 阅读 · 0 评论 -
对象、类型和值-1
cout<<....cin>>....字符串的连接:full_name = first_name + " " + last_name;//所连接也要是两个字符串检测输入的字符是否是重复字符:string previous = ""; string current; while (cin >> current) ...原创 2017-10-11 15:18:13 · 236 阅读 · 0 评论 -
Python sorted()的用法
我们需要对List进行排序,Python提供了两个方法 对给定的List L进行排序, 方法1.用List的成员函数sort进行排序 方法2.用built-in函数sorted进行排序(从2.4开始)——————————–sorted————————————— help(sorted) Help on built-in function sorted in module b...转载 2017-10-21 15:01:38 · 419 阅读 · 0 评论 -
函数相关的技术实现 -12
表达式计算 如果需要在表达式中改变一个变量的值,不要再同一个表达式中在读取或写入这个变量。 以下代码均有隐患(未定义的计算顺序)v[i] = ++i;v[++i] = i;int x = ++i+ ++i;cout<<++i<<''<<i<<'\n';f(++i,++i);全局初始化 一个静态的局部变量只有在函数首次调...原创 2017-10-29 19:46:20 · 200 阅读 · 0 评论 -
计算 -2
继续对C++进行学习,第四章《计算》目标: - 正确 - 简单 - 高效1. 常量表达式constexpr double pi = 3.14;//定义一个**不可修改**的常量一个constexpr符号常量必须给定一个在编译时就已知的值,例如:constexpr int max = 100;void use(int n){ constexp...原创 2017-10-12 19:41:05 · 228 阅读 · 0 评论 -
计算 -3
埃拉托色尼筛法求素数:这是最简单朴素的素数筛法了,根据wikipedia,时间复杂度为 O(n \log\log n),空间复杂度为O(n)。 算法思想:先假定所有的数都是素数,然后从最小的素数2出发,把素数的所有倍数筛出去。又因为一个数的质因数都是成对出现的,比如100 = 1*100 = 2*50 = …..= 10*10,所以筛素数时只用筛到 n的开平方就行了。以下为C++...原创 2017-10-13 22:10:07 · 308 阅读 · 0 评论 -
计算 -4
稍有意义的一道题: 要求输入一组字符串,找出其中的最大和最小的字符串,并找出其中出现次数最多的字符串mode。思路: 输入完成后,先对字符串进行排序,然后做前后比较。#include<iostream>#include<string>#include<vector>#include<algorithm>#include<...原创 2017-10-14 13:57:16 · 321 阅读 · 0 评论 -
错误 -5
1.链接时出错 在调用未定义的函数时会出错的。而具有相同名称但是类型不同的函数并不会被匹配。比如如果我们需要: int area(int x,int y) { … } 则double area(double x,double y){…} 和int area(char x,char y){…}都是不会被匹配的。2.异常 基本思想:把错误检测(在被调函数中完成)和错误处...原创 2017-10-14 22:49:14 · 765 阅读 · 0 评论 -
错误 -6
前置条件与后置条件: 前置条件 函数对自己参数的要求被称为前置条件。后置条件 对函数的返回值进行检查。有意思的一道题: 找出int所能允许表示的最大的斐波那契数: 利用limits头文件:#include<iostream>#include<string>#include<vector>#include<algorithm&...原创 2017-10-15 15:31:06 · 279 阅读 · 0 评论 -
错误 -7
随机数的设置与产生: 这里要用到的是rand()函数, srand()函数,C语言/C++里没有自带的random(int number)函数。首先我们要在宏定义中定义一个函数:#define random(x) (rand()%x)然后再主函数中,我们首先定义一个整数n(由用户来输入) 然后调用srand函数,这里的n我们称之为种子(seed)。... cin...原创 2017-10-15 16:23:09 · 1399 阅读 · 0 评论 -
类相关的技术细节 -13
类和成员 一个类就是一个用户自定义类型,由一些内置类型、其他用户自定义类型以及一些函数所组成。 用来定义类的组成部分称为成员。一个类可以有零个或多个成员。class X{public: int m;//数据成员 int mf(int v) {int old = m; m = v; return old;}//函数成员 };类成员的访问使用符号objec...原创 2017-11-01 15:53:22 · 233 阅读 · 0 评论 -
TensorFlow学习-1
TensorFlow计算模型——计算图 TensorFlow中的所有计算都会被转化为计算图上的节点,每一个计算都是计算图上的一个节点,而节点之间的边描述了计算之间的依赖关系。计算图的概念 Tensor指的就是张量,可以简单的理解为多维数组。 Flow直观的表达了张量之间通过计算相互转化的过程。计算图的使用import tensorflow as tfa = tf.const...原创 2017-10-30 15:41:12 · 228 阅读 · 0 评论 -
机器学习1-KNN算法设计part1
KNN算法(K-NearestNeighbor),也就是K-近邻算法,属于监督学习的一类。其优点是:精度高、对异常值不敏感、无数据输入假定。 缺点为:计算复杂度高、空间复杂度高。 适用数据范围:数值型和标称型。工作原理: 存在一个样本数据集合,也成为训练样本集,并且样本集中每个数据都存在标签,也即我们知道样本集中每一个数据与所属分类的对应关系。 在输入没有标签的新数据后,将新数据的...原创 2017-10-21 13:23:47 · 550 阅读 · 0 评论 -
TensorFlow学习 -2
会话(TensorFlow运行模型) 会话拥有并管理TensorFlow程序运行时的所有资源。 两种使用会话的方式: (1)需要调用明确调用会话生成函数和关闭会话函数#创建一个会话sess = tf.Session()sess.run(...)#关闭会话是的本次运行中使用到的资源得到释放。sess.close()(2)通过Python的上下文管理器来使用会话#...原创 2017-11-03 10:45:10 · 228 阅读 · 0 评论 -
类相关的技术细节 -14
枚举类型 枚举(enum): 它指定一个值的集合,这些值用符号常量来表示,称为枚举量。enum class Month{ jan=1,feb,mar,apr,may,jun,jul,aug,sep,oct,npv,dec };可以自定义进行对枚举量进行定义,也可以不指定。如果不指定,则编译器将赋予每个枚举量的值为上一个枚举量的值加1. 如果不对第一个枚举量进行...原创 2017-11-03 15:40:54 · 207 阅读 · 0 评论 -
类相关的技术细节 -15
参数类型定义枚举型变量:enum class Month{ jan = 1, feb,mar,apr,may,jun,jul,aug,sep,oct,nov,dec };需要注意的是,在使用时,以 Month::mar 来进行使用而不是 Month.mar 因为Month不是一个对象,而是一个类型。mar也不是一个数据成员,而是一个枚举量,一个符号常量。...原创 2017-11-06 14:44:37 · 188 阅读 · 0 评论 -
LC-Judge Route Circle
class Solution(object): def judgeCircle(self, moves): return moves.count('L') == moves.count('R') and moves.count('U') == moves.count('D')Sol = Solution()m = Sol.judgeCircle("DURDLDRRLL")原创 2017-12-08 13:32:04 · 192 阅读 · 0 评论 -
LC- Merge Two Binary Trees
class TreeNode(object): def __init__(self,x): self.val = x self.left = None self.right = Noneclass Solution(object): def mergeTrees(self,t1,t2): if t1 and t2:原创 2017-12-08 17:16:35 · 145 阅读 · 0 评论 -
LC-selfDividingNumber
class Solution(object): def selfDividingNumbers(self, left, right): is_self_dividing = lambda num: '0' not in str(num) and all([num % int(digit) == 0 for digit in str(num)]) return原创 2017-12-06 17:12:05 · 195 阅读 · 1 评论 -
LC-Array Partition I
class Solution(object): def arrayPairSum(self, nums): """ :type nums: List[int] :rtype: int """ return sum(sorted(nums)[::2])0,非常简洁的算法 1,sorted(list)即默认按照从小到原创 2017-12-10 13:52:47 · 186 阅读 · 0 评论 -
LC- Number Complement
class Solution(object): def findComplement(self, num): """ :type num: int :rtype: int """ i = 1 while i<=num: i = i<<1 r原创 2017-12-11 13:55:05 · 277 阅读 · 0 评论 -
LC-Reverse Words in a String III
class Solution(object): def reverseWords(self, s): return ' '.join(x[::-1] for x in s.split())Sol = Solution()s = Sol.reverseWords("Let's take LeetCode contest")print s0,简洁高效 1,join()函数的运原创 2017-12-11 14:31:47 · 182 阅读 · 0 评论 -
函数相关的技术细节 -11
函数的参数声明与返回值的定义 在函数声明和定义中,可以直接为参数命名,也可以不命名。int my_find(vector<string> vs, int hint); //命名参数int my_find(vector<string> ,int ); //不命名参数,也是可行的同时,声明的参数在函数体中也是可以不去使用的。返回值 对于main函数,...原创 2017-10-28 15:14:44 · 179 阅读 · 0 评论 -
LC-Trim a Binary Search Tree
class TreeNode(object): def __init__(self,x): self.val = x self.left = None self.right = Noneclass Solution(object): def trimBST(self, root, L, R): """ :原创 2017-12-19 23:48:32 · 174 阅读 · 0 评论 -
LC-Keyboard Row
方法1:class Solution(object): def findWords(selfself,words): a = set('qwertyuiop') b = set('asdfghjkl') c = set('zxcvbnm') ans = [] for word in words:原创 2017-12-12 14:55:07 · 221 阅读 · 0 评论 -
LC-Reshape the Matrix
方法1:class Solution(object): def matrixReshape(self, nums, r, c): """ :type nums: List[List[int]] :type r: int :type c: int :rtype: List[List[int]] ""原创 2017-12-20 23:47:25 · 172 阅读 · 0 评论 -
LC-Reverse String
class Solution(object): def reverseString(self, s): """ :type s: str :rtype: str """ return s[::-1]0,太简单 1,还是切片方法的运用,以前有类似的题目原创 2017-12-13 14:42:40 · 221 阅读 · 0 评论 -
LC-Baseball Game
class Solution(object): def calPoints(self, ops): """ :type ops: List[str] :rtype: int """ stack =[] for op in ops: if op == 'C':原创 2017-12-13 16:10:42 · 206 阅读 · 0 评论 -
LC- Island Perimeter
方法1:class Solution(object): def islandPerimeter(self, grid): """ :type grid: List[List[int]] :rtype: int """ count = 0 len_1 = len(grid[0]) l原创 2017-12-21 23:00:45 · 171 阅读 · 0 评论 -
LC-Distribute Candies
class Solution(object): def distributeCandies(self, candies): """ :type candies: List[int] :rtype: int """ return min(len(candies)/2, len(set(candies)))0,非常高原创 2017-12-14 14:44:51 · 157 阅读 · 0 评论 -
LC-Next Greater Element I
class Solution(object): def nextGreaterElement(self, findNums, nums): """ :type findNums: List[int] :type nums: List[int] :rtype: List[int] """ s = [原创 2017-12-23 15:06:11 · 250 阅读 · 0 评论 -
LC-HammingDistance
class Solution(object): def hammingDistance(self, x, y): return bin(x^y).count('1')Sol = Solution()dis = Sol.hammingDistance(1,4)print dis0,这是个效率非常高的算法 1,x^y为异或运算(相同取0,不同取1) 2,bin(int)为十进制向原创 2017-12-06 16:07:17 · 183 阅读 · 0 评论 -
LC-Longest Uncommon Subsequence I
class Solution(object): def findLUSlength(self, a, b): """ :type a: str :type b: str :rtype: int """ if a == b: return -1 return原创 2017-12-25 16:05:46 · 179 阅读 · 0 评论 -
LC-Fizz Buzz
方法1:class Solution(object): def fizzBuzz(self, n): """ :type n: int :rtype: List[str] """ list = [] for i in range(1,n+1): if (i%3==0)&(i原创 2017-12-16 20:07:19 · 298 阅读 · 0 评论 -
LC-Nim Game
class Solution(object): def canWinNim(self, n): """ :type n: int :rtype: bool """ if n%4==0: return False else: return TrueS原创 2017-12-25 16:32:28 · 287 阅读 · 0 评论 -
LC-Single Number
方法1:class Solution(object): def singleNumber(self, nums): """ :type nums: List[int] :rtype: int """ dic = {} for num in nums: dic[num] =原创 2017-12-27 10:52:19 · 248 阅读 · 0 评论 -
LC-Average of Levels in Binary Tree
# Definition for a binary tree node.class TreeNode(object): def __init__(self, x): self.val = x self.left = None self.right = Noneclass Solution(object): def averag原创 2017-12-24 14:33:26 · 245 阅读 · 0 评论