
题
IT_Bonnie
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
关于bit3的笔试题
题目:给一整型变量a,写两段代码,第一个设置a的bit3,第二个清除a的bit3.“a的bit3”首先我们看到这个题后要先知道这个小知识点:| 操作,当操作数为1时,结果为1,当操作数为0时,结果不变;& 操作,当操作数为1时,结果不变,当操作数为0时,结果为0因此,设置a的bit 3为1的方法就是将a和00001000作|操作,这样其他位都不变,只有第3位变成1;...原创 2019-09-03 22:38:21 · 1194 阅读 · 0 评论 -
最小路径和---动态规划
这个题给定了路线上的权重值,然后让你选择最小的数字和,其实也就是在求路径总数上的一个变形,道路加了权重,选择最小的权重。很多题目换种说法也有,比如小明为了抵挡路上食物的诱惑,选诱惑值最小的路径走。比如:1 3 11 5 14 2 1最短路径和1-3-1-1-1-》7代码如下:int minPathSum(int** gri...原创 2019-10-03 22:22:26 · 307 阅读 · 1 评论 -
不同路径--动态规划
题目:不同路径:每次只能向下或者向右移动,从左上角出发到达右下角,共有多少条不同的路径?思想:其实针对此问题我们可以用动态规划的思想来解决,对于第一行和第一列来说,只有一条路径,所以初始化为1 接着我们可以观察看出,到达dp[1...原创 2019-10-03 20:31:26 · 306 阅读 · 0 评论 -
爬楼梯---斐波那契
假设你正在爬楼梯。需要 n阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 根据规律可看出这其实是一个典型的斐波那契的问题,第n个数就是...原创 2019-10-03 12:50:54 · 333 阅读 · 0 评论 -
相同的树
题目:给定两个二叉树,编写一个函数来检验它们是否相同。如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。 将两棵树的首先条件判断后,递归代码简单,直接循环判断两棵树对应孩子是否相同;非递归借助栈将节点入栈保存,出栈比较。相比较过程也是可以理解的,代码如下://递归/*class Solution {public: bool ...原创 2019-10-02 22:09:19 · 212 阅读 · 0 评论 -
单链表实现快排
基于快排思想如下:我们设置两个指针p,q,其中 p初始时指向数组的第一个元素,q初始化为 p->next。然后,我们设定 p 指向的元素为基准数字。我们要做的事情,就是在一趟排序中,把那些比基准数字小的数,移动到前面。具体的算法如下:如果q指向的值大于等于基准数字(如果比基准大,直接跳过)q = q -> next如果q指向的值小于基准数字,(如果比基准小,...原创 2019-10-02 21:51:33 · 385 阅读 · 0 评论 -
最大连续子序列之和----并求出序列的起始下标
这是当时我面去哪儿时候面试官让写的代码题,算是最大连续子序列之和的变形吧,当时没写出来~~还是自己太菜!#include <iostream>#include <algorithm>#include <string>#include <vector>#include <stack>#include <...原创 2019-10-02 18:05:17 · 954 阅读 · 4 评论 -
动态规划---打家劫舍2
题目:你是一个专业的小偷,计划偷窃沿街的房屋,每间房内都藏有一定的现金。这个地方所有的房屋都围成一圈,这意味着第一个房屋和最后一个房屋是紧挨着的。同时,相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你在不触动警报装置的情况下,能够偷窃到的最高金额。#include <iostream&...原创 2019-10-02 16:55:52 · 367 阅读 · 1 评论 -
动态规划---打家劫舍
题目:你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你在不触动警报装置的情况下,能够偷窃到的最高金额。class Solution {public: int rob(vector<int...原创 2019-10-02 15:16:39 · 246 阅读 · 0 评论 -
实现任意两进制之间的转换
核心思想为:将旧的进制先转换为十进制的数字,然后再将十进制的数字转换为新的进制。例如:将7进制的23转换为9进制的数字为??7进制-->10进制 23 = 3*7^0 + 2 * 7^1 = 3 +14 = 17;10进制-->9进制 17 % 9 = 8; 17/9 = 1; 1 %9 = 1;...原创 2019-10-02 11:59:17 · 499 阅读 · 0 评论 -
逆波兰求值
逆波兰式也就是后缀表达式:1 + 2 ---> 1,2,+ 1+(2-3) ---> 1,2,3,-,+ 1+(5-4)*2 ---> 1,5,4,-,2,*,+ 2+5*(6-4)--->2,5,6,4,-,*,+ 5+(4-6/2)*3---> 5,4,6,2,/,-,3 ,*, +代码如下:#include <iostre...原创 2019-10-02 11:15:32 · 208 阅读 · 0 评论 -
栈实现队列,队列实现栈
栈实现队列:思想:是有两个栈,一个用来放数据(数据栈),一个用来辅助(辅助栈)。数据添加时,会依次压人栈,取数据时肯定会取栈顶元素,但我们想模拟队列的先进先出,所以就得取栈底元素,那么辅助栈就派上用场了,把数据栈的元素依次弹出到辅助栈,但保留最后一个元素,最后数据栈就剩下了最后一个元素,直接把元素返回,这时数据栈已经没有了数据。最后呢,把辅助栈的元素依次压人数据栈,这样,我们成功取到了栈底元素...原创 2019-10-09 21:08:05 · 209 阅读 · 0 评论