import java.util.Scanner; public class Demo001 { public static void main(String[] args) { String str = ""; Scanner scan = new Scanner(System.in); str = scan.nextLine(); permutation(str.toCharArray(), 0); } public static void permutation(char[] s…
include "stdafx.h" #include<iostream> #include<vector> #include <algorithm> #include<iomanip> #include<string> using namespace std; class Solution { public: long long nums = 0; int InversePairs(vector<int> dat…
题目描述 输入一个字符串,按字典序打印出该字符串中字符的所有排列.例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba. 输入描述: 输入一个字符串,长度不超过9(可能有字符重复),字符只包括大小写字母. /** * 1.递归算法 * * 解析:http://www.cnblogs.com/cxjchen/p/3932949.html (感谢该文作者!) * * 对于无重复值的情况 * * 固定第一个字符,递归取得首位后面的各种字符…
1 题目描述 输入一个字符串,按字典序打印出该字符串中字符的所有排列.例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba. 输入描述: 输入一个字符串,长度不超过9(可能有字符重复),字符只包括大小写字母. 2 思路和方法 固定第一个字符,递归取得首位后面的各种字符串组合:再将第一个字符与后面每一个字符交换,同样递归获得其字符串组合:每次递归都是到最后一位时结束,递归的循环过程,就是从每个子串的第二个字符开始依次与第一个字符交换,…
package com.loaderman.test; import java.util.HashSet; import java.util.Scanner; public class Test2 { /** * * 使用Scanner从键盘读取一行输入,去掉其中重复字符, 打印出不同的那些字符 * aaaabbbcccddd * * 分析: * 1,创建Scanner对象 * 2,创建HashSet对象,将字符存储,去掉重复 * 3,将字符串转换为字符数组,获取每一个字符存储在HashSet集…
题目描述: 输入一个链表,输出该链表中倒数第k个结点.例如有一个链表有六个节点1,2,3,4,5,6.则它的倒数第二个节点为5 节点定义如下: public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; } } 思路一: 设置一个快指针,一个慢指针.像一把尺子,当尺子的一端移动到链表的末尾,则另一端则为倒数第k个节点. public class Solution { publ…
算法:输入一个链表,输出该链表中倒数第k个结点.<剑指offer> 思路加到注释里面了: 1:两个if判断是否返回值为空,首个为空,没有第k个值: 2:for循环找到倒数第k个值,返回为answer,也就是第count-k /** * @Author liguo * @Description 输入一个链表,输出该链表中倒数第k个结点. * @Data 2018-08-12 23:40 */ /* public class ListNode { int val; ListNode next =…
一.题目: 输入一个链表,输出该链表中倒数第k个结点. 二.思路: 用两个指针p1和p2,p2先跑k步,然后p1和p2同时跑,p2跑到头p1所在的位置就是倒数第k个节点.很简单吧?简单你也想不到,想到了也写不出来嘻嘻(*^__^*) …… 三.代码:    …
1. 题目描述 输入一个链表,输出该链表中倒数第k个结点. 2. 思路和方法 可以用两个指针,一个指针遍历到第k个结点的时候,第二个指针再走到第一个节点,然后两个指针的距离始终保持k-1.这样,当第一个指针的next==NULL,也就是走到最后一个节点的时候,第二个指针对应的位置,就是倒数第k个结点.这样的好处是能够节省一个循环,时间复杂度会相应降低,从Q(2N) 降低到到Q(N). 注意,但是需要一个小循环让第一个指针先走到第k个指针.同时也存在结点总数小于k的问题,如果循环还没有进行到k次,…
举个栗子:输入 3 : 打印1,2,3......999 这里要注意一个坑,不可以直接算出最大的数,然后从1开始打印 .因为当n足够大时,n位数必定会超出int范围和long范围 所以我们需要用字符串来解题 , 模拟加法运算,循环打印. 思路: 1.先将n位数最大的一项+1用字符串str标记 2.StringBuilder对象ans用来做加法运算以及打印操作 3.boolean类型flag 用来标记是否需要进位 4.每次都从ans最后一位开始+1,需要进位时,将此时i的位置值为0,紧接着判断它的…
package debug; public class Demo10 { public static void main(String[] args) { //用星星符号打印出一个直角三角形 for(int i=1;i<=5;i++) { //每一列打印的星星个数跟行数相同 ,所以在下面for循环中将条件中最大值设置为行数 for(int j=1;j<=i;j++) { System.out.print("*"); } System.out.println(); } } }…
参考博客:    http://yangyingming.com/article/371/ //输入一个正整数n(n<=30),输出n所对应的蛇形矩阵.举两个例子: //n=10时,蛇形矩阵为: //具体的蛇形矩阵变化路径见下图: // // // import java.util.Scanner; public class testSheXin { /** * @param args */ public static Scanner Sc = new Scanner(System.in); p…
要求 用户输入一个数字,按照数字打印出等腰三角形 思路 1,用户输入的数字为n代表一共有多少行 2,使用一个循环带两个for循环,第一层循环是循环行数,第二层两个平行for循环一个打印空格一个打印*号 #!/usr/bin/python #_*_ coding:utf-8 _*_ m = raw_input('请输入一个数字,我来为你打印一个等腰三角形') n = int(m) #接收输入为字符串需要先转换成整数 for i in range(1,n+1): #外层循环为行数,因为Python是…
import java.util.*; /* * 输入一个整数,计算它各位上数字的和. * (注意:是任意位的整数) */ public class Sum02 { public static void main(String[] args) { System.out.print("请输入任意一个整数:"); Scanner s = new Scanner(System.in); int sum = 0; int t = s.nextInt(); while(t!=0){ sum =…
动手有益. 输入一个表达式,没有括号,数字小于0-9之间,输出计算结果,所有的中间结果化为整形.例如:  输入:3+8×2/9-2  输出:2 /** * input a calculate string, calcuate the value * the number between 0-9 * round the middle vlaue to int * */ public static void main(String[] args) { //8*6+2-6/3*6+2 String c…
input read 将一个XXX读入(input)---从输入流中读取数据的下一个字节(code操作的).output write 将一个类型的数据写入此流(code操作的)---然后把XXX输出(output)到目的地read(byte[] buf)write(byte[] buf)read和write中都有这种带参的情况,但是作用完全不同:read中的buf是装参数的容器:将input中的字节放入到buf中:write中的buf是传递参数的容器:我们要给output的数据已经提前被我们放到…
import java.util.ArrayList;import java.util.Collections;import java.util.List; public class Test7{    private static String s="";        public static void main(String[] args)    {        String str = "我是谁";        System.out.println(p…
public class Sort { public static void arrangeSequence(char[] strArr,int i){ char temp; ArrayList<String> list = new ArrayList<>(); if(strArr == null || i> strArr.length|| i<0){ return; } else if(i == strArr.length){ //将得到的组合存进ArrayList中…
首先得求出能整除A的数,再判断I是否是质数!!! import java.util.*; public class aa { public static void main(String[] args) { System.out.println("Please input the number:"); Scanner in=new Scanner(System.in); int a; a=in.nextInt(); if(a==1||a==0) System.out.println(&…
package com.cn.test.string; public class StringTest { public static void main(String[] args) { String str1 = getStringSum("999999999999999999999999999999999999999999999999999999999999999999999999999999","911911111111111111111111111111111111…
import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStreamReader; import org.junit.Test; public class Demo {// 使用示例 @Test public void testName1() throws Exception { Strin…
直接看下面的代码吧!主要是split和foreach的使用 import java.io.*; import java.util.*; public class Main{ public static void main(String[] args)throws IOException{ Scanner cin=new Scanner(System.in); String str=cin.nextLine();//读入一行数据 int []a=new int[10]; String []str1…
// test14.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include<iostream> #include<fstream> #include<string> #include<cctype> #include <vector> #include<exception> #include <initializer_list> #include<…
两种方法 1.在链表的初始化数据中加入 num 数据, 每添加一个节点,num加1,每删除一个节点,num减1 查找倒数第k个元素,即 指向第一个节点的指针向后移动 num - k 步. 2.使用两个指针 i 和 j, i和j初始化都指向第一个节点. 查看倒数第k个元素,先将 j 向右移动 k-1 步. 再将 i 和 j 同时向右移动,直到 j 指向最后一个元素结束. 这时候 i 指向的元素即 倒数第k个元素.返回 i 指向节点的值即可. #!/usr/bin/env python3 # -*-…
先看如下的效果: 方法: 先看如下的脚本sh3.sh: #!/bin/bash echo "peng" echo "$(color bold yellow) ------------------------------------------------------------------ $(color)" 将color文件所在的路径加入到环境变量PATH中,临时修改PATH的方法如下: export PATH=$PATH:XXX/color 然后运行脚本: ./…
package suanfa; import suanfa.doubleLinkedList.Node; public class solution { public Node find(Node head,int k){ int size=0; Node current=head; while(current !=null){ size+=1; current=current.next; } for (int i=0;i<size-k;i++){ head=head.next; } retur…
有时我们需要看models操作时对应的SQL语句, 可以用如下方法查看--- 在django project中的settings文件尾部添加如下代码 LOGGING = { 'version': 1, 'disable_existing_loggers': False, 'handlers': { 'console': { 'class': 'logging.StreamHandler', }, }, 'loggers': { 'django.db.backends': { 'handlers'…
转  http://blog.csdn.net/zsw12013/article/details/6534619 通过数据流.序列化和文件系统提供系统输入和输出. Java把这些不同来源和目标的数据都统一抽象为数据流.Java语言的输入输出功能是十分强大而灵活的,美中不足的是看上去输入输出的代码并不是很简洁,因为你往往需要包装许多不同的对象. 在Java类库中,IO部分的内容是很庞大的,因为它涉及的领域很广泛:标准输入输出,文件的操作,网络上的数据流,字符串流,对象流,zip文件流. 1.1.J…
通过数据流.序列化和文件系统提供系统输入和输出. Java把这些不同来源和目标的数据都统一抽象为数据流.Java语言的输入输出功能是十分强大而灵活的,美中不足的是看上去输入输出的代码并不是很简洁,因为你往往需要包装许多不同的对象. 在Java类库中,IO部分的内容是很庞大的,因为它涉及的领域很广泛:标准输入输出,文件的操作,网络上的数据流,字符串流,对象流,zip文件流. 1.1.Java流的分类 按流向分: 输入流: 程序可以从中读取数据的流.输出流: 程序能向其中写入数据的流. 按数据传输单…
题目:根据用户输入的行数打印菱形图案,若用户传入的是为偶数则提示用户重新输入,例如输入数字7打印出如下菱形图案   *  *** ************ *****  ***   *分析:先把图形分成两部分来看待,前四行一个规律,后三行一个规律,利用双重 for循环,第一层控制行,第二层控制列. import java.util.Scanner; public class Prog19 { public static void main(String[] args) { Scanner inp…