- 博客(13)
- 收藏
- 关注
原创 Java 十进制转二进制并格式化输出
对于长度为5位的一个01串,每一位都可能是0或1,一共有32种可能。它们的前几个是:0000000001000100001100100请按从小到大的顺序输出这32种01串。public class Main { public static void main(String[] args) { for (int i = 0; i < 32; i++) { String s = Integer.toBinaryString(i);//用于十进制
2021-02-16 11:10:58
597
原创 Java 字符串 提取子串,记录子串出现的次数
字符串问题中,常出现的查找字符串在一指定字符串中出现的次数,可以用contains()函数解答。其代码如下: int num = 0; while (res.contains(s)) { res = res.substring(res.indexOf(s) + s.length()); num++; }num为次数,res为指定字符串,s为要查找的字串。其中,用到了substring()函数,substring()有两种情况:s.substring(a),提取字符串s在第a个字符处开
2020-12-15 17:01:03
1011
原创 C/C++ dfs()深度优先搜索实例理解
理解深度优先搜索的关键在于解决“当下该如何做”。至于“下一步如何做”则与“当下该如何做”是一样的。这里有一个典型的dfs模型的实例。全排列问题。#include <iostream>#include <stdio.h>#include <string.h>using namespace std;int a[10];int book[10];//标记数组,记得进行初始化,0为还未进行,1为进行过了int n;void dfs(int step){
2020-11-12 21:25:26
583
原创 C++判断质数
C++中判断是否为质数(素数),一个简单的函数代码如下:bool judge(int a){ bool yes = true; if(a > 3) for(int i = 2; i * i <= a; i++){ if(a % i == 0){ yes = false; break; } } return yes;}..
2020-10-02 22:14:01
526
1
原创 C/C++算法 快速排序
冒泡排序的执行效率太低,因为每次比较相邻的两个数,所以时间复杂度为O(N²),花费的时间太长,所以为了更加的节省时间,提高程序的运行速率,我们可以采用快速排序。对于一个数集,先把第一个数当作基准数,然后分别从最右端和最左端向另一方向进行搜索,(以从小到大的顺序为例)从右向左搜索的,遇到比基准数小的与从左向右搜索的比基准数大的进行交换,直到两端进行查找的到达同一位置时将此处的数和基准数进行交换位置,...
2020-01-20 17:14:48
148
原创 C/C++算法 冒泡排序
相比于桶排序,冒泡排序可以解决桶排序浪费空间,和只能对整数集进行排序(无法做到对5.54, 2.12, 3.14之类的排序),主要思想就是每次比较相邻的两个元素,把他们按一定的顺序进行交换位置,其代码如下:#include <stdio.h>using namespace std;int main(){ int a[100], n; int t; scanf("%d"...
2020-01-19 20:05:27
108
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人