(编程题)字母易位词

题目两个单词如果包含相同的字母,次序不同,则称为字母易位词(anagram)。例如,“silent”和“listen”是字母易位词,而“apple”和“aplee”不是易位词。请定义函数检查两个单词是否是字母易位词。可以假设两个单词字母均为小写。要求算法复杂度尽量低。思路1.暴力破解:判断str1中的每一个字母是否出现在str2中,同时我们需要一个大小与字符串位数一致的数组来记录str...

置顶 原创 点赞0 阅读10000+ 收藏0 评论0 2021-05-20

2020我写了什么?

去年我写了哪些东西?这是我做总结的时候想的第一个问题,然后我回头看我写过的文章。文章目录剑指OfferLeetCode系列Mybatis学习之路JVM笔记设计模式Java集合JDBC系列文章Java基础下面主要讲解几个主要的方向:剑指Offer去年完成35篇,今年主要目标是完成全部,以及补充多种解法,同时维护刷题的仓库,使用docsify搭建,刚刚建立起来:https://github.com/Damaer/CodeSolution剑指Offer话题集合:https://mp.weixi

置顶 原创 点赞0 阅读10000+ 收藏0 评论0 2021-05-20

【实战问题】-- 聊聊礼品领取的架构设计中setnx相关的细节

前面讲解到实战问题】-- 设计礼品领取的架构设计以及多次领取现象解决?,如果出现网络延迟的情况下,多个请求阻塞,那么恶意***就可以全部请求领取接口成功,而针对这种做法,我们使用setnx来解决,确保只有一个请求可以进入接口请求。 public String receiveGitf(int activityId,int giftId,String uid){ // isExist判断活动是否存在,内部包括redis和数据库请求,省略 if(isActivityExis

置顶 原创 点赞0 阅读10000+ 收藏0 评论0 2021-05-20

150页的剑指Offer解答PDF,它来了!!!

它来了!!!终于整理出了第一版剑指Offer的PDF,主要以Java语言为主,一共67道题,100多页。领取方式如下(无套路直接获取百度网盘的 ???? 链接,如果链接失效可以直接找我):【秦怀杂货店】公众号内发送:剑指Offer刷题仓库:CodeSolution ,具体的分类如下:数组剑指Offer(二)–二维数组中的查找剑指Offer(十三)–调整数组顺序使奇数位于偶数前面剑指Offer(十九)-- 顺时针打印矩阵剑指Offer(二十八)-- 数组中次数出现超过一半的数字剑指

置顶 原创 点赞0 阅读10000+ 收藏0 评论0 2021-05-20

【实战问题】-- 布隆过滤器的三种实践:手写,Redission以及Guava(2)

前面我们已经讲过布隆过滤器的原理【实战问题】-- 缓存穿透之布隆过滤器(1),都理解是这么运行的,那么一般我们使用布隆过滤器,是怎么去使用呢?如果自己去实现,又是怎么实现呢?文章目录布隆过滤器手写布隆过滤器Redis实现Google GUAVA实现关于作者布隆过滤器再念一次定义:布隆过滤器(Bloom Filter)是由布隆(Burton Howard Bloom)在 1970 年提出的,它实际上是由一个很长的二进制向量和一系列随机hash映射函数组成(说白了,就是用二进制数组存储数据的特征)。譬

置顶 原创 点赞0 阅读10000+ 收藏0 评论0 2021-05-20

Junit报错initializationError(ClassNotfoundExption:orgs.hamcrest.SelfDescribing)

在使用junit测试的时候,出现了以下错误一开始在网上查找解决方案,有些伙伴是通过project-->clean就可以解决了,我试一下发现我的还是会报错,就发现我应该是少了hamcrest相关的包,然后就下了两个(这两个包不可以)但是build path之后,发现还是不可以,就又上网去看看,网上有些伙伴说是版本问题,或者是和之前的哪些jar包冲突了,之后再次打开junit的

置顶 原创 点赞0 阅读10000+ 收藏0 评论0 2021-05-20

关于作者

关于文章一个好文章不

原创 点赞0 阅读14 收藏0 评论0 14 天前

线程与线程池的那些事之线程篇

本文关键字:线程,线程池,单线程,多线程,线程池的好处,线程回收,创建方式,核心参数,底层机制,拒绝策略,参数设置,动态监控,线程隔离线程和线程池相关的知识,是Java学习或者面试中一定会遇到的知识点,

原创 点赞0 阅读2599 收藏0 评论0 21 天前

线程与线程池的那些事之线程池篇(万字长文)

本文关键字:线程,线程池,单线程,多线程,线程池的好处,线程回收,创建方式,核心参数,底层机制,拒绝策略,参数设置,动态监控,线程隔离线程和线程池相关的知识,是Java学习或者面试中一定会遇到的知识点,本篇我们会从线程和进程,并行与并发,单线程和多线程等,一直讲解到线程池,线程池的好

原创 推荐 点赞2 阅读3313 收藏0 评论1 23 天前

线程与线程池的那些事之线程池篇(万字长文)

**本文关键字:** `线程`,`线程池`,`单线程`,`多线程`,`线程池的好处`,`线程回收`,`创建方式`,`核心参数`,`底层机制`,`拒绝策略`,`参数设置`,`动态监控`,`线程隔离` 线程和线程池相关的知识,是Java学习或者面试中一定会遇到的知识点,本篇我们会从线程和进程,并行与并发,单线程和多线程等,一直讲解到线程池,线程池的好处,创建方式,重要的核心参数,几个重要的方法,底

原创 推荐 点赞0 阅读10000+ 收藏0 评论0 2021-06-21

线程与线程池的那些事之线程篇

本文关键字:线程,线程池,单线程,多线程,线程池的好处,线程回收,创建方式,核心参数,底层机制,拒绝策略,参数设置,动态监控,线程隔离线程和线程池相关的知识,是Java学习或者面试中一定会遇到的知识点,本篇我们会从线程和进程,并行与并发,单线程和多线程等,一直讲解到线程池,线程池的好处,创建方式,重要的核心参数,几个重要的方法,底层实现,拒绝策略,参数设置,动态调整,线程隔离等等。主要的大纲如下(

原创 推荐 点赞0 阅读10000+ 收藏0 评论0 2021-05-20

线程与线程池的那些事之线程篇

本文关键字:线程,线程池,单线程,多线程,线程池的好处,线程回收,创建方式,核心参数,底层机制,拒绝策略,参数设置,动态监控,线程隔离线程和线程池相关的知识,是Java学习或者面试中一定会遇到的知识点,本篇我们会从线程和进程,并行与并发,单线程和多线程等,一直讲解到线程池,线程池的好处,创建方式,重要的核心参数,几个重要的方法,底层实现,拒绝策略,参数设置,动态调整,线程隔离等等。主要的大纲如下(

原创 点赞0 阅读10000+ 收藏0 评论0 2021-05-20

【实战问题】-- 布隆过滤器的三种实践:手写,Redission以及Guava(2)

前面我们已经讲过布隆过滤器的原理【实战问题】--缓存穿透之布隆过滤器(1),都理解是这么运行的,那么一般我们使用布隆过滤器,是怎么去使用呢?如果自己去实现,又是怎么实现呢?[TOC]布隆过滤器再念一次定义:布隆过滤器(BloomFilter)是由布隆(BurtonHowardBloom)在1970年提出的,它实际上是由一个很长的二进制向量和一系列随机hash映射函数组成(说白了,就是用二进制数组存

原创 点赞0 阅读10000+ 收藏0 评论0 2021-05-13

不用乘法实现一个数乘以2

使用位运算可以实现:import java.util.Scanner;public class Helloworld { public static void main(String[] args) { Scanner scan=new Scanner(System.in); System.out.println("请输入一个整数:");

原创 点赞0 阅读10000+ 收藏0 评论0 2021-04-25

不用定义第三个变量来实现两个数的交换

当两个数进行交换的时候,如果创建第三个变量则会消耗系统资源,那么我们可以使用与或运算

原创 点赞0 阅读10000+ 收藏0 评论0 2021-04-25

实现一个数的反转,即“123”,输出时变为“321”

如果是明确的三位数,那么很容易实现,使用取余数和整除即可分离出每一位,代码如下:#includeusing namespace std;int main(){ int a; cin>>a; cout<<(a%10)*100+(a/10%10)*10+(a/100)<<endl; return 0;}但是如果不知道是多少位,只知道是整数的话,那么我们可以定义一个递归函数来实现

原创 点赞0 阅读10000+ 收藏0 评论0 2021-04-25

如何实现三个数的排序?

由于是三个数,所以不选择数组,而是通过三次比较就可以达成,代码如下:#includeusing namespace std;int main(){ long a,b,c,t; cin>>a>>b>>c; if(a>b){t=a;a=b;b=t;}//确定了a<=b if(a>c){t=a;a=c;c=t;}//确定了a<=c if(b>c){t=b;b=c;c=t;}/

原创 点赞0 阅读10000+ 收藏0 评论0 2021-04-25

定长顺序表--FixedLenArray类实现

实现顺序表的用C++语言和类实现顺序表属性包括:数组、实际长度、最大长度(设定为1000)操作包括:创建、插入、删除、查找输入:第1行先输入n表示有n个数据

原创 点赞0 阅读9671 收藏0 评论0 2021-04-25

定长顺序表--合并操作

代码如下:#include#includeusing namespace std;class SeqList{private: int *list; int maxsize; int size;public: SeqList(int n, int *p); ~SeqList(); void add(SeqList &a);};SeqList::SeqList

原创 点赞0 阅读9553 收藏0 评论0 2021-04-25

定长顺序表--查找子表操作

题目描述为定长顺序表FixedLenArray实现一个方法int findSubSeq(FixedLenArray& other, FixedLenArray& output),该方法,在this指针所代表的定长顺序表对象中,查找是否存在一个有序子表X,该子表中的元素全部依次对应other表中的所有元素.若存在,返回OK,同时output参数中包含:X中每个元素在this表中的索引

原创 点赞0 阅读58 收藏0 评论0 2021-04-25

顺序表--连续操作

题目描述建立顺序表的类,属性包括:数组、实际长度、最大长度(设定为1000)该类具有以下成员函数:构造函数:实现顺序表的初始化。插入多个数据的multiinsert(int i, int n, int item[])函数,实现在第i个位置,连续插入来自数组item的n个数据,即从位置i开始插入多个数据。删除多个数据的multidel(int i, int n)函数,实现

原创 点赞0 阅读85 收藏0 评论0 2021-04-25

DS单链表--类实现

用C++语言和类实现单链表,含头结点属性包括:data数据域、next指针域操作包括:插入、删除、查找注意:单链表不是数组,所以位置从1开始对应首结点,头结点不放数据输入n第1行先输入n表示有n个数据,接着输入n个数据第2行输入要插入的位置和新数据第3行输入要插入的位置和新数据第4行输入要删除的位置第5行输入要删除的位置第6行输入要查找的

原创 点赞0 阅读84 收藏0 评论0 2021-04-25

输入组数未知的数据,c和c++的不一样。

如何给三个字符排序?输入的组数未知。如果用c++,代码如下:#includeusing namespace std;main(){ char a,b,c,temp; while (cin>>a>>b>>c) { if(a<b) {temp=a;a=b;b=temp;} if(a<c) {temp=a;a=c;c=temp;} if(b<c) {te

原创 点赞0 阅读56 收藏0 评论0 2021-04-25

打印蛇形矩阵

根据输入的n的值,打印出大小为n*n的蛇形矩阵,效果如下:代码如下:#include#includeusing namespace std;int main(){ int n,**p,i,total=1,x=0,y,j; cin>>n; y=n-1; p=new int*[n]; for(i=0;i<n;i++) p[i]=new int[n]; f

原创 点赞0 阅读69 收藏0 评论0 2021-04-25

设计一个算法,计算出n阶乘中尾部零的个数

考虑到只要有5,或者因子为5的数,就可以产生0的尾部。假如1*2*3*4*...*250,那么250/5=50可以知道,有50个为5的倍数,但是里面有多少个为25的倍数,125的倍数...,50/5=10,可知25的倍数有10个,10/5=2,可知125的倍数有两个,以此类推,代码如下:class Solution { public: // param n : descr

原创 点赞0 阅读101 收藏0 评论0 2021-04-25

计算数字k在0到n中的出现的次数,k可能是0~9的一个值

样例例如n=12,k=1,在 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12],我们发现1出现了5次 (1, 10, 11, 12)代码如下:class Solution {public: /* * param k : As description. * param n : As description.

原创 点赞0 阅读88 收藏0 评论0 2021-04-25

进程与线程的理解,以及run方法和start方法的区别

以下来自《Java多线程编程核心技术》---高洪岩首先百度百科对于进程的理解:听起来好像很抽象,那么再看一幅图:是的,我们完全可以把运行在内存中的exe文件理解成为进程,进程就是受操作系统管理的基本运行单位。而线程,则为在进程中独立运行的子任务。比如,一个qq软件同时运行着下载文件线程,好友视频线程,数据传输线程,发送表情线程等等。

原创 点赞0 阅读85 收藏0 评论0 2021-04-25

使用URL类下载网页文件,并网页文件统计大小

URLConnection 常用方法:String getHeaderField(String name)返回指定的头字段的值。InputStream getInputStream()返回在此打开的连接读取的输入流。String getContentEncoding()返回content-encoding头字段的值。int getContentLength()返

原创 点赞0 阅读97 收藏0 评论0 2021-04-25

Eclipse以及myeclipse的自动补全设置

最简单的修改方式::Windows——>Preferences——>Java-->Editor-->Content Asist,在Auto activation triggers for Java后面的文本框里只有一个“.”。现在你将其改为“.abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ”即可。

原创 点赞0 阅读71 收藏0 评论0 2021-04-25

使用阿里大于发送短信

使用阿里大于发送短信首先我们的目标是:使用阿里大于的短信平台来帮我们将信息发给用户,那么需要的参数就是手机号。阿里大于的网址是:https://dayu.aliyun.c 应用列表 ,如果没

原创 点赞0 阅读58 收藏0 评论0 2021-04-25
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8