8 _lessismore

尚未进行身份认证

我要认证

嘻嘻

等级
TA的排名 1w+

ZJC个人作品截图-找工作用

详细请看图片谢谢。

2018-09-02 13:25:16

Kmeans基本思想以及和SVM的区别

由于最近要用到该算法,但是发现算法的思想基本忘掉了,只知道是聚类算法,因此又回头去学习了一番,记录下学习的感受,方便以后复习。       Kmeans算法的基本思想:看如下图,假设要把这些点分成三类,首先随机的选择3个点作为三个类别的中心点,然后依次计算其余所有的点到这三个中心点的距离,如果x点(非中心点)到center i (i = 0,1,2)的距离最小,那么x就是i类的,然后对于每一个

2017-11-21 19:23:45

回溯算法的理解与使用

最近在做题的过程中发现很多我不会的题目的解决方法都使用了回溯算法的思想,说明我对这个算法目前掌握的还不够牢固,因此今天花时间来好好了解这个算法。       回溯算法是一种算法思想,而递归则是具体的代码结构。       就我的学习感受:回溯算法就是树结构的思维过程。       图示:              回溯算法解决问题的例子:n皇后问题,0-1背包问题,货郎问题。

2017-11-16 16:21:43

leetcode33题解_Search in Rotated Sorted Array

题意:要在一个排好序的但是旋转过的序列中找给定的数字。    (通常的题目是,比如:1,2,3,4,5,6,7.找这组序列中是否有7这个数,但是这个序列在这个题目中是旋转过的,但是按哪个位置旋转不知道,比如旋转后是:4,5,6,7,1,2,3.要在这个序列中找7,题目就要求我们写算法来找是否有这个数字)      我的思路:      直接遍历一遍,O(n)复杂度-_-。 

2017-11-15 15:28:07

leetcode31_Next Permutation

这道题的题目含义是:给你一串数字{1,2,4,4,6},这串数字按从前往后组的成一个数就是:12446,(假设这几个数排列组合得到的一个集合为X),要求你用这几个数字得到一个新的数字,这个新的数字要比1244大,并且是X中所有比12446大的最小数,即:14246成立。如果没找到比它大的,则输出能得到最小数的一个组合。       求解思路:因为要找下一个比它大的最小数字,倒序遍历数组,设置两

2017-11-14 16:09:26

leetcode-22-生成括号

题目给出括号的对数,要求我们生成正确匹配的括号字符串。      具体题意看leetcode吧,这里给出解题思想。      由于我们要找出所有满足条件的解,答案是一个解集,因此此题可以采用回溯法来解决。      “回溯算法实际上一个类似枚举的搜索尝试过程,主要是在搜索尝试过程中寻找问题的解,当发现已不满足求解条件时,就“回溯”返回,尝试别的路径。回溯法是一种选优搜索法,按选优条件向

2017-11-13 15:33:26

leetcode17-根据数字找到可能的按键字母组合

/*这个解法是比较巧妙的*/vector letterCombinations(string digits) { vector res; string charmap[10] = { "0", "1", "abc", "def", "ghi", "jkl", "mno", "pqrs", "tuv", "wxyz" }; res.push_back("");//此时res的size=

2017-11-13 14:33:17

leetcode19--删除链表中倒数第n个节点

友情提示,刷leetcode题目的时候,先刷支持率高的题目,这些题目的质量好,我现在按照top 100 like这个列表中的顺序刷题,先把hard以下的刷完。      今天的第二题:删除链表中倒数第n个元素,要求最好是只遍历一遍。难度:中等。      我:只遍历一遍?但是不知道链表的长度,怎么在一遍之内找到呢?(如果是第一次做这个题目的同学估计会和我有)相同的疑问把。所以,该怎

2017-11-10 15:53:38

leetcode第11题带来的关于人生的反思

LeetCode上有些题目有点不够友好,比如第7题:string转int,测试case里面居然给了“input:+-2 , output: 0”这种类型,有啥意义??什么规则?而且题目最开始又不说这些规则,每次提交又特殊案例,disscuss里面对这道题的评价也很低,没啥意思,所以优先做支持率高的题目把。      于是今天做第11题,题目大意是:(图)             我

2017-11-09 16:43:15

windows程序崩溃生成dump文件

第一种: 通过任务管理器:这种适用在程序挂了(crash)的时候进程还未退出,比如我运行程序,出现了下面的错:此时打开任务管理器,右击相应进程,点击"Create Dump File“:一会创建完成:然后把这个DMP文件拷到开发机器上,用VS打开: 会出现下面的界面,要想知道发生错误时候的调用栈,需要设置symbol的路径,点

2017-11-09 10:10:26

leetcode 7—— integer reverse

我的代码:     //必须要分离出每一位,而这个只能通过除10//如果是负数,那么乘以-1变成正数处理,之后再乘-1回去即可//所以现在考虑正数情况就可以了int reverse(long num){ bool sig = false; if (num >= INT_MAX || num <= INT_MIN) return 0; if (num < 0) { num

2017-11-08 13:05:31

leetcode 6—— zjgzag conversion

看了大神的代码,我才知道....有如醍醐灌顶!      题意是给了一串字符,这串字符是按照zigzag--锯齿方式排列的,我们需要按人类一行行的方式去读这个字符串。      我的思路:这就是个找规律的题目阿,我的想法是将源字符串填充到一个二维矩阵当中,然后一行行的去读矩阵就好了,那么问题的关键就是如何填充这个矩阵,也就是要找到字符的位置和矩阵元素位置的关系。就以3行的zigzag为例,

2017-11-07 20:20:57

leetcode 5—— Longest Palindromic Substring

这道题是求字符串中的最长回文字符串。      回文字符串就是从前面读与从后往前读是一样的。      一看到题目,我就开始想,既然这样,那我就从前往后扫描字符串,既然回文,那肯定头尾一样,我找到一头一尾,根据头尾的位置,然后判断剩余的部分,从头往后,从尾往前,再一个个判断。      因此,代码如下:      string longestPalindrome(string s)

2017-11-07 15:43:34

leetcode 4——Median of Two Sorted Arrays

这道题很难,看了别人的代码都还搞了一天阿。。。        记录一下解题思路。        首先要区分中位数,不是平均数!该题是要找中位数,如果序列是奇数个,那么直接取中间的,如果是偶数个,那么取中间的两个数的平均数,所以,核心问题是,如何把两个排好的序列整合成一个序列,并且时间复杂度要求低于:o(log(m+n))。        既然要求算法时间复杂度在log级别,那肯定和二分

2017-11-06 19:54:17

leetcode problem solve 3——Longest Substring Without Repeating Characters

这道题我直接看disscuss了-_-,原因是我对字符串操作很陌生-_-.....看完disscuss代码后,发现字符串的处理没有我想象的那么不能接受,其实背后还是数字嘛(ascii),不要怂,不要怕,下次遇到字符串的题没理由逃避了。       disscuss里的那个9行c++代码解决这个问题的思路是很好的。       下面是代码的分析:        //寻找最长的子字符串的长

2017-11-06 10:28:12

leetcode problem solve 2——Add Two Numbers

题意就不再赘述了,这里主要总结一下解题过程中感触比较深的地方。       这道题仅仅是medium水平,但是我却做了两个多小时.....我觉得主要原因是我一开始觉得很简单,然后一上来就写代码,没有做好前期的问题剖析工作,导致后面每次提交都出现不同的案例测试无法通过,然后真的就慌乱了,心想:这种问题我居然都无法控制住??!!然后心态就崩了....开始焦躁,又试图使自己再次专注解题。做人真的不能

2017-11-05 17:34:24

leetcode problem solve 1——Two Sum

这道题目难度级别:easy。       题意是给定一个整形数taget和一个vectorarr,这个target是arr中两个数求和的结果,要求返回arr中这两个数的索引号。       我的解题思路是:(talk is cheap,直接show code吧)       class Solution {public: vector twoSum(vector& nums,

2017-11-05 14:35:26

C++11新特性学习笔记—委托构造函数的使用

#include#include#include/*委托构造函数的使用情景:当一个类中存在大量构造函数1,2,3,4....且1,2,3,4...直接按存在大量相同操作的时候,可以抽象出一个公共的操作--形成委托构造函数,以此降低代码量*/using namespace std;class TDConstructed{ //抽象出通用的--委托构造函数 template T

2017-11-03 20:03:24

C++11新特性学习笔记—继承构造函数的使用

/*为了避免透传接口,在c++中使用using 关键字如果派生类要使用基类的成员函数的话,可以通过使用using声明来完成*/#includeusing namespace std;class Base{public: Base(); Base(int i) :m(i) {} int m; void f(double x) { cout << "base x = " <<

2017-11-03 19:41:21

C++11新特性学习笔记—final和override关键字

一、final关键字               为什么c++现在才提供final这个关键字?很奇怪。             和Java一样,c++中的final关键字是用来修饰一个函数,防止这个函数被子类重写。                    二、override关键字        这个关键字作用蛮大的。在C++中,有父类A,子类B,父类中有虚函数x,子类B继承

2017-11-03 15:26:36

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!