
Practice
猫小爪喵
可接技术方面订单
展开
-
请编写一个函数,使其可以删除某个链表中给定的(非末尾)节点,你将只被给定要求被删除的节点
今天给大家分享一个小题目,如下:请编写一个函数,使其可以删除某个链表中给定的(非末尾)节点,你将只被给定要求被删除的节点。现有一个链表 --head =[4,5,1,9],它可以表示为: 4 -> 5 -> 1 -> 9说明:链表至少包含两个节点。 链表中所有节点的值都是唯一的。 给定的节点为非末尾节点并且一定是链表中的一个有效节点。 不要从...原创 2018-10-21 20:01:43 · 1852 阅读 · 1 评论 -
饥饿的小易(牛客网)
分析题目,小易有一个初始位置x,从初始位置出发有两种途径,一个是4*x+3,一个是8*x+7,看到这种和数学有关的表达式,一定要先联系数学,我们令f(x)=4*x+3,g(x)=8*x+7; 我们可以发现,f(g(x))=g(f(x)),那么就是说先按哪种方式走都可以,然后,我们还可以观察到,f(x)执行3次就相当于g(x)执行两次,这个题目是要求小易最少的执...原创 2019-06-07 20:13:04 · 490 阅读 · 0 评论 -
要求在不出现加号的情况下得到两数之和
题目描述:请编写一个函数,将两个数字相加。不得使用+或其他算术运算符。给定两个intA和B。请返回A+B的值。测试样例:1,23我们知道,整数在计算机中是以二进制的形式表示的,1^1=0,1^0=1,0^0=0;异或可以表示相加;1&1=1,1&0=0,0&0=0;按位与可以表示进位;那么,每次将每一位的和相加,然后再加上进位左移一位,如...原创 2019-06-07 20:32:21 · 180 阅读 · 0 评论 -
输入N,求N的阶乘的末尾有多少个0
思路:n!= 1*2*3*...*n;我们要分析一下0是怎么来的,0是2*5得来的,那也就是说看有多少个2,5就可以了, 再分析,因子2出现的次数,2,4,6,8...,因子5出现的次数,5,10,15,25... 很显然,2出现的次数一定是比5出现的次数多的,那么我们只需要计算5出现的次数有多少,就可以得到会有多少个10,也就是会有多少个0了。所以思路就是...原创 2019-06-08 18:19:30 · 1491 阅读 · 0 评论 -
链表里面放数组,如何取到数组的值?
代码如下:遍历集合中的数组,内存循环数组可得public class test { public static void main(String[] args) { ArrayList<int[]> list=new ArrayList<int[]>(); int[] a=new int[]{1,2,3}; i...原创 2019-06-09 19:06:40 · 1544 阅读 · 0 评论 -
给定出栈队列,入栈队列,判断是否是正确的出栈队列
从一个例子着手来分析一下出栈入栈的情况:已知,入栈队列:1,2,3,4 队列2:3,4,2,1; 分析队列2是否是入栈队列的出栈队列?将两队列放入数组中,分别为in[],out[],准备一个栈stack(1)比较入栈队列第一个元素(i=0)和出栈队列第一个元素(j=0),不相等,且此时栈为空,则入栈队列第一个元素入栈,i++,stack...原创 2019-06-10 14:37:49 · 1070 阅读 · 0 评论 -
火车进站,如何思考?
结合上两篇文章,https://blog.youkuaiyun.com/sophie1314/article/details/91372295,出栈入栈队列https://blog.youkuaiyun.com/sophie1314/article/details/91346647,Java实现全排列我们不难有想法>>可以先给火车编号进行全排列,再对所有的全排列进行分析,是否是合法的出栈队列,...原创 2019-06-10 15:03:16 · 1041 阅读 · 0 评论 -
扑克牌顺子
思路见代码注释:public class Solution { //首先牌数得是5,否则false //顺子的特点,最大值减去最小值为4,并且牌不重复,但是由于有大小为0的存在,最大值减去最小值<=4, //大小王的个数,也就是0的个数<=4,判断其他牌个数不大于2,保证不会出现对子 public boolean isContinuous...原创 2019-08-05 10:51:53 · 181 阅读 · 0 评论 -
根据提供的马戏团员的体重和身高,得出最终可以叠成汉诺塔的最高个数
有时候在思考的时候,我们大可不用那么复杂,可以按照平常自己处理问题的思路来慢慢推导,无非就是再细致一些,再逻辑化一些; 题目如下: 我们怎么去思考这个问题,首先,明白题意:(1)体重相同的两个人,只有身高也相同才可以叠在他的肩上 ...原创 2019-07-27 15:13:53 · 213 阅读 · 0 评论 -
机器人的运动范围-回溯法
思路:1、根据题意,机器人不能到达行列坐标数位之和大于k的格子,那么需要构建一个函数,判断当前行列位置是否合法 2、然后从(0,0)点开始遍历,如果当前坐标越界或者不合法,则返回0,否则向四个方向遍历,返回四个方向的变量结果+1;public class Solution { public static int movingCount(int thres...原创 2019-08-18 18:35:06 · 296 阅读 · 0 评论 -
Java实现深拷贝的两种方式:实现Cloneable接口,实现对象的序列化(Serializable接口)
如下图所示: clone是浅拷贝的展示,我们直接调用Object类的clone接口,由于Course是引用类型,浅拷贝实际上前后指向了同一个对象,那么就会出现“牵一发而动全身”的效果; clone1是实现了对象序列化的深拷贝,将对象变为二进制字节流(通过这三步:ByteArrayOutputStream,ObjectOutputStream,wri...原创 2019-08-19 12:44:54 · 1489 阅读 · 0 评论 -
单例设计模式
单例设计模式是什么?单例设计模式只允许产生一个实例化对象,这种模式简化了在复杂情况下的管理,比如,一个类如果不采用单例模式,那么操作其属性,方法等,就需要实例化对象,这时你可以实例化很多这个类的对象,造成了一定程度的资源消耗,这显然是不太友好的,单例模式正好就可以解决这一问题,如:服务器的配置文件,可以由一个单例对象同一读取,然后服务进程中的其他对象再通过这个单例对象获取这些配置信息...原创 2019-08-11 14:19:13 · 128 阅读 · 0 评论 -
被二分查找绊倒,亏不亏?!!!
有时候,我们总是会忽略一些很简单的题,直到在笔试中被检验!!!惊喜于题目的简单,惊讶于测试用例一直通不过的悲哀,然而笔试也不会再重来一次,你也不知道到底是错在哪里了。。。。格式吗?who konws。。唯一的方法就是再敲一遍如下:非递归二分查找,递归二分查找//我这里写的是无返回值的,也可以写成有返回值的,都可以public class Test3 { public sta...原创 2019-08-16 20:30:28 · 155 阅读 · 0 评论 -
微信红包-牛客网
这道题我的思路是:遍历数组,将数组元素放到Set集合中,这样就可以知道有几个不同的元素了; 然后将Set集合中的元素取出来,放到另一个数组中去newarr[]; 然后创建一个数组result[],用来存放newarr[]数组元素出现的个数,双层循环,若相等,cou...原创 2019-06-12 20:34:16 · 588 阅读 · 0 评论 -
求数n最少需要多少步才能变成Fibonacci数列
思路:1、找到第一个大于等于数n的Fibonacci数x 2、进而得到前一个Fibonacci数y 3、比较|x-n|和|y-n|,较小值则是最终要走的步数import java.util.Scanner;import static java.lang.Math.abs;import static java.lang.Math.min;...原创 2019-05-30 16:46:03 · 830 阅读 · 0 评论 -
替换空格
解决方案一:调用内置函数import java.util.Scanner;public class Solution { public String replaceSpace(StringBuffer str) { String result=str.toString().replaceAll(" ","%20"); return result;...原创 2019-05-05 23:30:29 · 132 阅读 · 0 评论 -
闰年
输出1000-2000年之间的闰年,这个是一个可以帮助大家了解 if -else 之间关系的一个好例题如何判断闰年? 可以被4整除但不可以被100整除,可以被400整除的年份称之为闰年; 语句之间的关系为(被4整除&&不能被100整除)||(被400整除)先放代码以供大家理解,后面还有诺;1.运用&&...原创 2018-07-31 10:41:52 · 1199 阅读 · 2 评论 -
乘法表
九九乘法表可以说是一个很基础的循环例题,下面演示的代码可以规定任意乘法表数量#include<stdio.h>int main(){ int n,i,j; printf("请输入你想要得到的乘法口诀表的行数\n"); scanf("%d",&n); for(i=1;i<=n;i++) { for(j=1;j<=i;j++) { pr...原创 2018-07-31 10:21:38 · 635 阅读 · 0 评论 -
素数的多种解法
大家对于素数应该是不陌生的吧,即只能被1和本身所除尽的数叫做素数素数的解法也很多,下面我们就慢慢谈起,可以说素数代码总体上来说是不难理解的,但是有几个小知识点需要大家在编代码的时候多关注一下,先放上一个简单的代码#include<stdio.h>int main(){ int i,j; int count=0; for(i=100;i<=200;i++)...原创 2018-07-30 18:51:56 · 492 阅读 · 0 评论 -
实现求第n个斐波那契数
斐波那契数列:指的是这样一个数列 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233,377,610,987,1597,2584,4181,6765,10946,17711,28657,46368..这个数列从第3项开始,每一项都等于前两项之和求第n个斐波那契数有很多种方法1.简单的一种就是:求前两个数时规定输出1,从第三项开始,输出前两项之和,用...原创 2018-04-23 19:00:03 · 1327 阅读 · 0 评论 -
实现一个函数,可以左旋字符串中的n个字符
左旋n位字符之方法一:运用两次循环#include<stdio.h>void Left_Move (char*p,int n){ int i=0;int len=strlen(p);for(i=0;i<n;i++){ int j=0;char tmp=p[0];for(j=0;j<len-1;j++){p[j]=p[j+1];}p[le...原创 2018-04-16 20:40:29 · 263 阅读 · 0 评论 -
0-999的水仙花数
代码如下:#include<stdio.h>int main(){ int a,b,c,i=0; int count=0;for(i=0;i<=999;i++){ a=i%10; b=i/10%10; c=i/100;if(a*a*a+b*b*b+c*c*c==i){printf("%d ",i);count++;...原创 2018-03-13 20:30:02 · 345 阅读 · 0 评论 -
在屏幕上输出菱形
代码如下:在屏幕上输出一个菱形,相互学习#include<stdio.h>#include<windows.h>//Sleep函数的头文件int main(){char arr1[]=" * "; //定义一个数组1char arr2[]="**...原创 2018-03-13 20:20:12 · 270 阅读 · 0 评论 -
Java实现“从1到N的所有整数中1出现的个数”
首先要明确题意:是1出现的个数,而不是包含1的整数的个数;其次:分情况进行讨论(1)大框架是按位进行置1,去讨论除本位之外的情况(比如,个位置为1,分析十百千位的情况)(2)考虑当前位,若当前位大于等于1,则左边位可以取到最大值;否则,最高位取到(最大值-1);(3)考虑最高位,若最高位大于等于1,则可以取完;否则,最高位取到本数的最大值;最后,当然得来个例子才好: ...原创 2019-03-19 21:06:43 · 997 阅读 · 0 评论 -
牛客网练习题:小易的升级之路
题目中说的是输入两行数据,输出一行数据;下面的示例就是两组数据,让我还困惑了一会儿。。。。题目和示例是一个人写的吗,这有点不规范吧,希望做好质检。 直接上代码吧,最主要的是封装了两个方法(得到最终能力,得到最大公约数),可以使代码看起来条例清晰。import java.util.Scanner;/** * Created: 2019/3/30 *...原创 2019-03-30 20:46:03 · 362 阅读 · 0 评论 -
编程模拟老师的询问
import com.sun.deploy.util.UpdateCheck;import java.util.Scanner;/** * Created: 2019/3/30 */public class Main4 { public static void main(String[] args) { Scanner scanner = new Sc...原创 2019-03-30 21:46:42 · 278 阅读 · 0 评论 -
牛客网练习题-说反话
题目:就不打字了,上一张截图我的思路:(1)题目是反转单词顺序,而不是反转每个字母;那么观察示例,简单来说就是倒着去输出。(2)倒着去输出,具体是怎么输出的呢,就要找输出的起始点和结束点,从右往左看,起始点是遇到空格符时的右边一位,然后从左向右打印,结束点是上一次的空格处。 总之就是依次从右向左查找空格,找到之后再从左向右打印这个单词,循环这个步骤,直到找不到空...原创 2019-04-10 13:59:23 · 601 阅读 · 0 评论 -
数组中的逆序对
这道题是我想的太简单了吗,我用了类似于冒泡的排序去比较,前者大于后者,逆序对就加一,然后通过了全部的测试用例,后来查了一下其他人的,怎么感觉那么长,先把我的放在这里,如果是我哪里疏忽了,还望大家可以指正我,谢谢^-^import java.util.*;public class AntiOrder { public int count(int[] A, int n) { ...原创 2019-04-16 20:18:44 · 123 阅读 · 0 评论 -
矩阵中的路径--经典回溯法
题目意思:给定一维字符数组,判断在这个字符数组构成的矩阵中是否可以找到另一个字符串路径算法思想:1、题目说,路径中走过的格子不能重复,因此,需要一个mark数组来标记该格子是否走过 2、排除一些特殊情况,当矩阵数组或字符数组为空或null是,返回false 3、遍历矩阵数组,找到矩阵中字符与字符数组第一个字符相同...原创 2019-08-18 12:12:18 · 269 阅读 · 0 评论