Blog_Tony

Standing on the Shoulder of Giants.

2020新年目标与展望

2020我要变得更加优秀(fighting)

欢迎大家访问我的个人主页:https://yunfanzhilu.github.io/ 2020新年目标与展望 1、多花时间陪父母 年纪越来越大,感觉陪父母的时间也越来越少了,希望在2020年能多多孝敬父母。 2、游泳,跑步 要坚持一直锻炼身体,好身体才是生活的本钱 3、旅行3个城市 解锁国内2个城市(哈尔滨,武汉),国外1个城市(巴塞罗那) 4、学习西班牙语 按照B站上...

以《换钱的方法数》来学动态规划及其优化

我要变得更优秀(fighting)

欢迎大家访问我的个人主页:https://yunfanzhilu.github.io/ 动态规划初步入门 近期在做程序员面试指南,里面有一道《换钱的方法数》问题,我觉得对理解动态规划和递归优化搜索很有帮助。 题目 给定数组arr,arr中所有的值都为正数且不重复。每一个值代表一种面值的货币,每种面值的货币可以使用任意张,再给定一个整数CoinNum代表要找的钱数,求换钱的有多少种方...

剑指offer-删除链表中重复结点

欢迎大家访问我的博客Tony’s Blog,一起站在巨人的肩膀上! 题目描述: 在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5 算法描述: 这道题我是用循环遍历链表的方法来做的。 设置一个新的头结点,放到第一位,以...

剑指offer-对称的二叉树

题目描述: 请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。 算法思想: 对称的二叉树遍历,先左后右和先右后左结果是一样的 代码: /* struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNo...

剑指offer-链表中环的入口结点

题目描述: 给一个链表,若其中包含环,请找出该链表的环的入口结点,否则,输出null。 算法思想: 这道题主要有两个证明结论要记住: 设置快慢指针(一个指针每次走一步,另一个指针每次走两步),假如有环,他们一定能相遇 两个指针从链表头结点和相遇结点同时出发,每次走一步,一定会在入口结点处相遇 代码: /* struct ListNode { int val...

剑指offer-左旋转字符串

欢迎大家访问我的博客Tony’s Blog,一起站在巨人的肩膀上! 题目描述: 汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的任务,就是用字符串模拟这个指令的运算结果。对于一个给定的字符序列S,请你把其循环左移K位后的序列输出。例如,字符序列S=”abcXYZdef”,要求输出循环左移3位后的结果,即“XYZdefabc”。是不是很简单?OK,搞定它! 算法思想: 主要就是一...

剑指offer-扑克牌顺子

欢迎大家访问我的博客Tony’s Blog,一起站在巨人的肩膀上! 题目描述: LL今天心情特别好,因为他去买了一副扑克牌,发现里面居然有2个大王,2个小王(一副牌原本是54张^_^)…他随机从中抽出了5张牌,想测测自己的手气,看看能不能抽到顺子,如果抽到的话,他决定去买体育彩票,嘿嘿!!“红心A,黑桃3,小王,大王,方片5”,“Oh My God!”不是顺子…..LL不高兴了,他想了想,决...

C++标准库(STL)中sort用法

欢迎大家访问我的博客Tony’s Blog,一起站在巨人的肩膀上! sort简述(头文件:#inlcude<algorithm>) 功能: 对给定区间所有元素进行排序 语法(对vector数组) sort(begin,end,cmp),cmp参数可以没有,如果没有默认非降序排序。 举例 剑指offer中面试题33:把数组排成最小的数将数组中的数字转化为字符串,再使用sort函数拼...

C++ STL关联性容器set与map基本操作简述

欢迎大家访问我的博客Tony’s Blog,一起站在巨人的肩膀上! 在之前一篇博客C++标准库(STL)栈(stack)、队列(queue)、双向队列(deque)、容器(vector)的基本操作中,详细说明了顺序容器vector、stack、queue、deque的使用,本期来说说STL中关联性容器set与map的使用。 map简述 概念 map是STL中很有用的容器,底...

剑指offer-数组中重复的数字、数组中只出现一次的数字(内含STL map讲解)

欢迎大家访问我的博客Tony’s Blog,一起站在巨人的肩膀上! 数组中重复的数字 题目描述: 在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是第一个重复的数字2。 算法思想: 建立map映射...