![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
剑指offer
爱学习的胖胖
好好学习,天天向上
展开
-
2019.8.31 360大数据分析岗笔试题
选择题1.使用C4.5算法构建决策树时,结点以信息增益率来作为标准进行特征的选择;而C1.3则是用的信息增益作为的标准。2.在一系统中信号量为-3则表示当前有几个进程处于等待状态 3个,0的话是资源分配完,没有进程进行等待,3的话(正数的话)说明现在资源有3个资源可以用3.knn是非参数机器学习方法4.系统启动加载nfs磁盘需要修改什么配置文件: 这个我也不知道,没百度出来,...原创 2019-09-01 15:33:04 · 2722 阅读 · 0 评论 -
爱奇艺2018-缺失的括号-
1.题目代码和思路import java.util.Scanner;/** 说下该题的思路 类似于栈 就是如果进来的是左侧的左侧的++ 如果进来的是右侧的判断一下, 如果前边没有左侧括号即左侧为0则右侧++ 如果前边有左侧括号则相互抵消,左侧———— 最后左侧加右侧就是所有的个数**/public ...原创 2019-08-08 15:37:50 · 110 阅读 · 0 评论 -
爱奇艺2018 -青草游戏-找规律
题目代码+思路import java.util.Scanner;/** 该题我是看的别人的分析,发现是通过找规律解决的 不是每次牛羊吃的时候从0开始,都尽可能多吃让剩下的人吃不到 0 1 2 3 4 5 6 7 8 9 羊 牛 羊 牛 牛 羊 牛 羊 牛 牛**/public class...原创 2019-08-08 12:21:47 · 443 阅读 · 0 评论 -
爱奇艺2018 数字游戏-int和string类型的转换以及输入next(),nextint(),nextLine()方法的区别-java
1。题目2.思路.1.首先分析一下输入部分next()以及nextIint() 以及nextLine()的区别可以参考这个博客:https://blog.csdn.net/m0_37695351/article/details/79254221nextLine():不将空格看做是两个字符串的间隔,而是看作字符串的一部分,返回时,它作为String类型一并返回next()...原创 2019-08-05 21:12:55 · 425 阅读 · 0 评论 -
爱奇艺-2018-判断题-逻辑题-java 拼凑正方形-数学题
1.题目:2.思路:最大分数 = 正确题目判断对的 + 错误题目判断对的即猜的正确的和实际正确的最小值和猜的错误的和实际错误的最小值之和。3。代码import java.util.Scanner;public class Main{ public static void main(String[] args){ Scanner sc=new Sc...原创 2019-08-05 18:49:24 · 308 阅读 · 0 评论 -
字符串-两个字符串-java 剑指offer 58-左旋字符串-substring方法
题目:思路:从后向前遍历字符串找到是有几个与字符串前边的内容相同其中用到了方法substring() 方法返回字符串的子字符串startsWith() 方法用于检测字符串是否以指定的前缀开始代码:import java.util.Scanner;//该题思路为从尾部查找与首部同的元素的个数public class Main{ public sta...原创 2019-07-27 17:26:47 · 167 阅读 · 0 评论 -
拼多多-数三角形
import java.util.*;import java.util.Scanner;public class Main { public static void main(String[] args){ Scanner sc =new Scanner(System.in); int n =sc.nextInt();...原创 2019-07-27 21:08:22 · 286 阅读 · 0 评论 -
2018年爱奇艺-循环数的比较-字符串-java-StringBuilder-可用于大量字符串的拼接-toString转化为字符串-compareto()方法字符串的大小比较
题目:思路:其实该题很简单,就是比较一下大小但是得注意到数据的类型,(我的代码中)x1,k1,x2,k2都为int类型在 repeat的时候,要注意到,字符串可以通过append()方法在末尾直接添加元素,如果有大量的字符串拼接new好多StringBuilder对象,所以频繁的字符串操作还是得用StringBuilder所以new了一个StringBuiler。然后调用t...原创 2019-08-05 16:44:07 · 251 阅读 · 0 评论 -
2018拼多多-小熊吃糖
代码-javaimport java.util.Arrays;import java.util.Comparator;import java.util.HashMap;import java.util.Scanner;public class Main { //熊类 public static class Bear { int attac...原创 2019-07-26 19:26:28 · 132 阅读 · 0 评论 -
爱奇艺2018 奶牛编号-排序取模-大数long类型 括号匹配深度-这个主要是两个变量,一个用来存最大值一个用来随时计数
题目:思路:把奶牛所希望的编号排个序,然后就是乘法原理了。比如 4 3 9 6, 排序为3 4 6 9。第一个奶牛有3种取法,第二只奶牛有(4-1)种取法,第三头奶油有(6-2)种取法,第四匹奶牛就有9-3种取法 即 count=count*(h[i]-i) 同时由于结果过大,声明的时候声明为long 类型64位代码:import java.util.*;...原创 2019-08-13 17:20:09 · 116 阅读 · 0 评论 -
剑指offer-39-数组中出现次数超过一半的数字-中位数
题目思路:其实该题我最开始做的时候采用的是一种暴力方法,直接遍历,统计次数,有点像哈希表,但是最后程序没写出来,因为有个地方的逻辑没处理好,就是最后输出的是超过一半的那个数而不是个数,这个数我没想清楚怎么存储然后我看书看到了一种很巧妙的办法,但是这个方法只对这个题适用,因为题中要求的是一个数字出现的次数超过数组长度的一半,那首先可以对该数组进行排序,然后如果存在这样的数的话,则中...原创 2019-08-09 15:42:29 · 113 阅读 · 0 评论 -
2019年顺丰安卓开发选择题
1.如果要将网页中用户的登陆状态保存到客户端可以用什么方法 session2.kmp算法求某个字符串的匹配次数3.高响应比优先调度算法:短作业优先,先来先服务,长作业等的时间足够长优先级会提升,也会增加系统开销。4.ipv4是32位点分四段十进制,ipv6是128位的冒分八段十六进制法。5.MySQL存储引擎是MyISAM、InnoDB、MERGE、MEMORY(HEAP)、B...原创 2019-08-30 17:59:27 · 299 阅读 · 0 评论 -
1919.8.29顺丰科技编程题(所有岗位一样)
1.代码:动态规划/*** 最长子序列* 5* 1 2 1 3 4* 4*/import java.util.Scanner;public class shunfeng02 {public static void main(String[] args) { Scanner scanner=new Scanner(System.in);...原创 2019-08-30 16:28:28 · 358 阅读 · 0 评论 -
java 实现01背包问题,每个数只能放进去一次的那种
1.题目:背包问题主要是指一个给定容量的背包、若干具有一定价值和重量的物品,如何选择物品放入背包使物品的价值最大。其中又分01背包和无限背包,这里主要讨论01背包,即每个物品最多放一个。而无限背包可以转化为01背包。先说一下算法的主要思想,利用动态规划来解决。每次遍历到的第i个物品,根据w[i]和v[i]来确定是否需要将该物品放入背包中。即对于给定的n个物品,设v[i]、w[i]分别为第i...原创 2019-08-26 20:19:20 · 568 阅读 · 0 评论 -
删除重复字符串,abccd ->abcd map以及replace
1.题目:2.代码package test;import java.util.*;public class test2 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String str = sc.next()...原创 2019-08-26 15:14:03 · 230 阅读 · 0 评论 -
2019年秋,京东秋招数据分析岗位 最优打字策略 -java
1.题目2.思路我的思路是字符的长度+大小写转换的次数即 如AaAAAA 字符长度为6 然后A到a需要按一次shift a到A需要按一次shif这样就只需要按两次 一共6+2=8次所以题目中生命了一个flage变量用来标记当前是大写还是小写初始化flage的时候如果字符串第一个字符是大写flage=1 否则即小写则flage=0;然后再遍历的时候...原创 2019-08-26 11:15:56 · 325 阅读 · 0 评论 -
剑指offer-49丑数-找规律不是很懂 -Math.min()的调用
题目:思路:用常规思路不行,时间会超过math不用import,在java中的用法为Math.min(a,b);返回a,b中的最小值这个不是很严格的动态规划问题链接:https://www.nowcoder.com/questionTerminal/6aa9e04fc3794f68acf8778237ba065b来源:牛客网/*说下思路,如果p是丑数,那么p=2...原创 2019-08-10 20:58:34 · 117 阅读 · 0 评论 -
剑指offer 45 把数组排成最小的数-toString()方法-StringBuilder动态增加字符数组-重写Comparator方法
题目:思路先将整型数组转换成String数组,然后将String数组排序,最后将排好序的字符串数组拼接出来。关键就是制定排序规则。* 排序规则如下:* 若ab > ba 则 a > b,* 若ab < ba 则 a < b,* 若ab = ba 则 a = b;* 解释说明:* 比如 "3" < "31"但是 "331"...原创 2019-08-10 19:59:53 · 187 阅读 · 0 评论 -
剑指offer 40最小的k值 返回值是ArrayList类型的,与数组有区别,还有一些特殊情况数组大小需要注意
题目:思路:该题的思路很简单,但是需要主要的是一些细节问题1.首先是返回值的类型,在public这一行已经说明返回值是ArrayList类型的,2.然后就是应该注意到k的值和输入数组的长度的大小,即使k值远大于数组长的也不能直接返回,因为输入的是数组类型的,而输出要求的必须是ArarayList类型的得进行一定的转换,同时,ArrayList还有一些方法可以直接进行调用。A...原创 2019-08-09 18:47:54 · 163 阅读 · 0 评论 -
2018年拼多多牛课网试题-贪心算法
1.六一儿童节---贪心算法思路:本题考查的是贪心算法可以采用的思路是将学生和巧克力都进行排序,然后进行贪心算法,就是将最小的巧克力给最小的学生,如果巧克力大于等于最小的学生则计算+1,同时将学生的下表+1(类似于遍历);直到所有的学生都有糖果break掉代码-javaimport java.util.Arrays;import java.util.Scanner;/...原创 2019-07-26 17:38:56 · 248 阅读 · 0 评论 -
剑指offer 50 -第一个只出现一次的字符-简单哈希表-java-charAt()方法
题目:2.思路最直接的思路就是,遍历这个字符串,当访问到某个字符的时候将其后边的字符串进行比较,如果与后边的字符串没有发现重复的,则该字符就是只出现一次的字符但是考虑到时间复杂度,我们可以采用哈希表的方式来进行处理本题是看第一个只出现一次字符所在位置,和哈希表,根据给定的关键字找出其在表中的位置很相似。 1.该题可以采用哈希表的方法 2.a-z的ascII为65...原创 2019-08-03 13:49:16 · 121 阅读 · 0 评论 -
剑指offer 61- 扑克牌中的顺子-数组-java
题目:思路:1.排序 2.求相邻数字之间的空缺总数 3.求数组中0的个数 4。如果2<=3 则是顺子 5。没有重复的数字即没有对子代码:import java.util.Arrays;/** 1.排序 2.求相邻数字之间的空缺总数 3.求数组中0的个数 4。如果2<=3 则是顺子 5。没有重复的数字即没有对子...原创 2019-08-02 21:12:54 · 120 阅读 · 0 评论 -
剑指offer 面试题31,栈的压入和弹出序列
题目:思路:1.首先声明辅助栈,2。然后循环,在循环过程中将pushV的元素一个一个压入辅助站, 如果pop V的栈顶元素和辅助栈的栈顶元素一样则出栈即 如果压入的元素不在栈顶则入栈,否则的话出栈3.如果所有元素压入栈了还没有找到可以出栈的元素即辅助站现在不为空,则说明该序列不是代码:class Solution {public:...原创 2019-07-04 15:48:51 · 83 阅读 · 0 评论 -
剑指offer-位运算-15二进制中1的个数
题目:答案:class Solution {public: int NumberOf1(int n) { int count=0; while(n){ count++; n=n&(n-1); } return count; }};...原创 2019-06-28 19:19:32 · 124 阅读 · 0 评论 -
剑指offer查找和排序-二分查找-旋转数组的最小数字
在排序的数组或者部分排序的数组中查找一个数字或者统计某个数字出现的次数,可以尝试用二分查找题目:答案:class Solution {public: int minNumberInRotateArray(vector<int> rotateArray) { int size = rotateArray.size(); ...原创 2019-06-28 15:58:35 · 121 阅读 · 0 评论 -
剑指offer 递归与循环 10 裴波那契数列及青蛙跳台阶的应用变态跳台阶问题
题目:f(n)= 0 n=0 1 n=1 f(n-1)+f(n-2) n>1答案:普通的循环递归是不行的,时间复杂度大高普通的代码: if(n<+0) return ...原创 2019-06-27 19:16:21 · 92 阅读 · 0 评论 -
剑指offer 面试题9,用两个栈实现队列
栈:先进后出队列:先进先出,队尾插入元素,队头删除元素题目:答案:class Solution{public: void push(int node) {//入栈函数 stack1.push(node); } int pop() {//出栈函数 int res; //如果,stack...原创 2019-06-27 18:12:24 · 61 阅读 · 0 评论 -
剑指offer-举例让抽象问题具体化-面试题30 包含min函数的栈
题目:代码:class Solution {public: //入栈 void push(int value) { stk.push(value); if(stk_min.empty()||value<stk_min.top()) stk_min.push(value); }...原创 2019-07-02 19:58:22 · 208 阅读 · 0 评论 -
剑指offer 06 从 尾到头打印链表
问题:这个是牛课网上的题,其中声明的是vector类型结果:递归方法class Solution {public: vector<int> printListFromTailToHead(struct ListNode* head) { //vector 容器 vector<int> vec;...原创 2019-06-21 20:04:09 · 131 阅读 · 0 评论 -
剑指offer05 空格替换
题目:答案:class Solution {public: void replaceSpace(char *str,int length) { int blacknumber=0; //先遍历一遍,计算字符串中的空格数目 for (int i=0;i<length;i++){ if(str[i]=='...原创 2019-06-21 16:21:32 · 85 阅读 · 0 评论 -
剑指offer 面试题32 从上到下打印二叉树,队列,层次遍历
题目:层次遍历代码:/*struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNode(int x) : val(x), left(NULL), right(NULL) { }};*/class Solution {p...原创 2019-07-04 16:55:44 · 96 阅读 · 0 评论 -
剑指offer- 面试思路 -面试题27-二叉树的镜像
该部分主要是展示,画图可以使抽象问题形象化。题目:答案:此处应注意树节点的定义部分,及各个名称/*struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNode(int x) : val(x), left(NULL),...原创 2019-06-29 13:16:55 · 120 阅读 · 0 评论 -
剑指offer 58 翻转字符串
题目:思路:其实该题可以通过两次反转来实现首先将整个字符串反转,然后根据空格来判断每个单词的开始和结束的位置,再将每个单词反转代码:public class Solution { public String ReverseSentence(String str) { //将字符串抓化为字符数组 char[] chars = str....原创 2019-08-02 20:20:40 · 86 阅读 · 0 评论 -
剑指offer 38-字符串的排列-递归-回溯-java
题目:思路:递归1。首先求出所有在第一个位置的字符2.固定第一个字符,然后后面的字符排列代码:import java.util.ArrayList;import java.util.List;import java.util.Collections;public class Solution { public ArrayList<String&g...原创 2019-08-02 16:15:40 · 150 阅读 · 0 评论 -
剑指offer-分解让复杂问题简单化-36-二叉搜索树与双向链表 -java-树的中序遍历
题目:思路:首先明确一下什么是搜索二叉树,如果有左子树的话该值小于根结点的值,如果有右节点的话,该值大于根结点的值。该题要求是转化为一个排序的双向链表,由于搜索二叉树本身就有值的大小比较,所以我们可以采用树的中序遍历。这样读取出来的数据正好是排好序的。同时由于是双向链表,我们应该注意到每个节点都有左右指针,这点需要注意。树的中序遍历:中序时相对于根结点而言的,先遍历左后根最后右...原创 2019-07-24 15:13:41 · 127 阅读 · 0 评论 -
剑指offer-分解让复杂问题简单化-35-复杂链表的复制 -java
题目:解题思路:代码实现:java/*public class RandomListNode { int label; RandomListNode next = null; RandomListNode random = null; RandomListNode(int label) { this.label = label...原创 2019-07-24 13:04:27 · 140 阅读 · 0 评论 -
剑指offer 面试题34 二叉树中和为某一值的路径 树的先序遍历 java
1.题目:返回的是所以合适的路径思路:首先遍历根结点,所以可以采用树的先序遍历,遍历完一条路径后将其叶子节点删除重新回到其根结点中代码:import java.util.ArrayList;/**public class TreeNode { int val = 0; TreeNode left = null; TreeNode right...原创 2019-07-05 14:19:03 · 123 阅读 · 0 评论 -
剑指offer 面试题33 二叉搜索树的后序遍历序列 java
1.什么是二叉搜索树2.后序遍历根结点在最后3.题目:思路:数组的最后一个元素为根结点,前边比根结点值大的为左子树,然后自该位置以后就是右结点比如数组{5,7,6,9,11,10,8}8为根结点。5,7,6为左子树,9,11,10为右子树,可以才用递归的方法。代码:第一次尝试用java编程,不知道是不是题目的关系,感觉思路很清晰import java.uti...原创 2019-07-05 11:04:00 · 142 阅读 · 0 评论 -
剑指offer 画图解决面试题的思路-面试题29-顺时针打印矩阵 --
//自己还未熟练题目:daan:class Solution {public: vector<int> printMatrix(vector<vector<int> > matrix) { int row = matrix.size(); int col = matrix[0].size();...原创 2019-06-29 16:57:52 · 319 阅读 · 0 评论 -
剑指offer-解决面试题的思路-树-面试题28--对称的二叉树-树的先序遍历
此题可以在27题的基础上即数的镜像上的改编题目:答案:/*struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNode(int x) : val(x), left(NULL), right(NULL) { }}...原创 2019-06-29 14:29:40 · 134 阅读 · 0 评论