机器人的运动范围 剑指offer66题】的更多相关文章

include "stdafx.h" #include<vector> #include<algorithm> #include<string> #include<iostream> #include<stack> using namespace std; class Solution { public: int getSum(int rows, int cols) { int sum = 0; while (rows!=0)…
原文链接 剑指Offer每日6题系列终于在今天全部完成了,从2017年12月27日到2018年2月27日,历时两个月的写作,其中绝大部分的时间不是花在做题上,而是花在写作上,这个系列不适合大神,大牛,这个系列是我专门为那些初识算法,数据结构的同学和对基础算法,基本数据结构不熟练的同学而写的. 里面所有的博文,我尽量避开生僻的一些概念,尽量用生活中的语言和例子来解释一些原理,因此在学术上可能不太严谨,但是,管他呢,你们能理解就好: 绝大部分的题目我都用了两种以上的方法,有的甚至5到6个方法去解决,…
在看剑指offer的时候,感觉这三个题目很像,都是用哈希表可以解决,所以把这三个题整理出来,以供复习. 剑指offer35题:第一个只出现一次的字符 题目描述:在字符串中找出第一个只出现一次的字符.如输入“abaccdeff”,则输出‘b’. 题目分析:统计字符串每个字符出现的次数,然后找出第一个只出现一次的字符.我们可以定义一个哈希表,这个哈希表的键值key是字符,value是该字符出现的次数.这样我们需要对字符串扫描两次,第一次扫描字符串时,每扫描一个字符就在哈希表对应项中把次数加1.第二次…
当我们需要改变数组的值时,如果从前往后遍历,有时会带来很多麻烦,比如需要插入值,导致数组平移,或者新的值覆盖了旧有的值,但旧有的值依然需要被使用.这种情况下,有时仅仅改变一下数组的遍历方向,就会避免这些困难. 最直观的一题是 剑指Offer上的面试题 4 另外一道例题,就是LeetCode上的 Pascal's Triangle II Pascal's Triangle II Given an index k, return the kth row of the Pascal's triangl…
1 题目描述 地上有一个m行和n列的方格.一个机器人从坐标0,0的格子开始移动,每一次只能向左,右,上,下四个方向移动一格,但是不能进入行坐标和列坐标的数位之和大于k的格子. 例如,当k为18时,机器人能够进入方格(35,37),因为3+5+3+7 = 18.但是,它不能进入方格(35,38),因为3+5+3+8 = 19.请问该机器人能够达到多少个格子? 2 思路和方法 回溯法: 是一种选优搜索法,又称为试探法,按选优条件向前搜索,以达到目标.但当探索到某一步时,发现原先选择并不优或达不到目标…
地上有一个m行和n列的方格.一个机器人从坐标0,0的格子开始移动,每一次只能向左,右,上,下四个方向移动一格,但是不能进入行坐标和列坐标的数位之和大于k的格子. 例如,当k为18时,机器人能够进入方格(35,37),因为3+5+3+7 = 18.但是,它不能进入方格(35,38),因为3+5+3+8 = 19.请问该机器人能够达到多少个格子? class Solution { private: int sumOfNumber(int x){ ; while(x){ sum += x % ; x…
*题目:输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变. *句子中单词以空格符隔开.为简单起见,标点符号和普通字母一样处理. *例如输入“I am a student.”,则输出“student. a am I”. 终于有一道题的思路是一样的了!  感觉自己的基础太差了! 思路:整体反转+单词再反转. //时间复杂度为O(n) //自己编写 #include "stdafx.h" #include<iostream> void ReserveSentence…
#include "stdafx.h" #include<iostream>using namespace std; void LeftRotateString(char* str,int n);void StringReverse(char* pStart, char* pEnd); int main(int argc, char* argv[]){ char str[]="abcdef";   //将"abcdef"拷贝到str[…
目录 前言 一.憨憨初解 1.思路 2.代码 3.战绩 4.反思 二.看懂再解 1.思路 2.代码 3.C++版战绩 总结 前言 题目来源:https://leetcode.cn/problems/biao-shi-shu-zhi-de-zi-fu-chuan-lcof/ 这个题目有官方解释的有限状态自动机,也有用正则肝的,甚至有暴躁老哥打算直接把这题撕了的,但是,还得是评论区里人才多,总有大佬能肝出来清晰的题解,这波记录一下,食用这个题目的过程. 大佬讲解链接:https://www.bili…
题目:输入一个整形数组,数组里有正数也有负数.数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和.求所有子数组的和的最大值.要求时间复杂度为O(n). 例如输入的数组为1, -2, 3, 10, -4, 7, 2, -5,和最大的子数组为3, 10, -4, 7, 2,因此输出为该子数组的和18. 第一感觉:看到这道题后,我先想的便是列出所有子数组,求取和再在这些和中求取最大值,这肯定是最简单的了!自己所写的代码如下: #include "stdafx.h" #includ…