算法12.02
来源:互联网 发布:可以赚钱的app软件 编辑:程序博客网 时间:2024/05/20 05:28
1、判断一个数是否为2的N次幂
答:设这个数为n,然后用这个数的二进制和(n-1)的二进制做求与运算,如果所得的结果为0,那么即为二进制数。
2、给定一个数组A(1-100)判断A里面是否有重复元素
答:定义一个hashmap集合,key存放A中的元素值,value存放该元素值出现的次数,假如用count表示,如果count>=2,说明有重复元素。
3、给定一个字符串ab_cd_e,要求字母放前面,下划线放后面。
答:A、把字符串转换为字符数组(toCharArray)
B、定义一个StringBuilder,用来存放排序后字符
C、遍历字符数组,判断如果'a'<Char[i]<'z',就添加到sb中
D、再次遍历字符数组,如果为空,退出,不为空,将元素添加到Sb中
E、将sb转化为字符串(toString())
4、判断一个链表是否是一个环
答:定义两个指针,一个快指针(fast),假如每次移动两步;一个慢指针(slow),假如每次移动一步。判断两个指针能否相遇,如果能,则是一个环。
如果不能,快指针一定先指向NULL,则不成环。
class X{
Boolean isExitsLoop(list head){
list slow=head;
list fast=head;
while((fast&&fast.head)!=null){
slow=slow.next;
fast=fast.next.next;
if(slow==fast){
break;
}
}
return !(fast==null||fast.next==null);
}
}
答:设这个数为n,然后用这个数的二进制和(n-1)的二进制做求与运算,如果所得的结果为0,那么即为二进制数。
2、给定一个数组A(1-100)判断A里面是否有重复元素
答:定义一个hashmap集合,key存放A中的元素值,value存放该元素值出现的次数,假如用count表示,如果count>=2,说明有重复元素。
3、给定一个字符串ab_cd_e,要求字母放前面,下划线放后面。
答:A、把字符串转换为字符数组(toCharArray)
B、定义一个StringBuilder,用来存放排序后字符
C、遍历字符数组,判断如果'a'<Char[i]<'z',就添加到sb中
D、再次遍历字符数组,如果为空,退出,不为空,将元素添加到Sb中
E、将sb转化为字符串(toString())
4、判断一个链表是否是一个环
答:定义两个指针,一个快指针(fast),假如每次移动两步;一个慢指针(slow),假如每次移动一步。判断两个指针能否相遇,如果能,则是一个环。
如果不能,快指针一定先指向NULL,则不成环。
class X{
Boolean isExitsLoop(list head){
list slow=head;
list fast=head;
while((fast&&fast.head)!=null){
slow=slow.next;
fast=fast.next.next;
if(slow==fast){
break;
}
}
return !(fast==null||fast.next==null);
}
}
阅读全文
0 0
- 算法12.02
- 算法
- 算法
- 算法
- 算法
- 算法
- 算法
- 算法
- 算法
- 算法
- 算法
- 算法
- 算法
- 算法
- 算法
- 算法
- 算法
- 算法
- rabbitmq安装
- Java读取Excel
- 提交BUG的标准规范
- Pascal程序笔迹:和为零
- LeetCode 15. 3Sum
- 算法12.02
- Accelerated-c++-置换索引
- bzoj1901 Zju2112 Dynamic Rankings(主席树+树状数组)
- Robot Framework 源代码阅读笔记 之三
- 校oj195——双for用contiue加速
- 基于Vue2.0的音乐播放器(2)——歌手模块
- python爬虫案例-爬取西刺免费代理服务器IP等信息
- 常用OLAP工具特点总结
- keras上手之:与tensorflow混合编程