题目描述 输入一个字符串,按字典序打印出该字符串中字符的所有排列.例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba. 输入描述: 输入一个字符串,长度不超过9(可能有字符重复),字符只包括大小写字母. /** * 1.递归算法 * * 解析:http://www.cnblogs.com/cxjchen/p/3932949.html (感谢该文作者!) * * 对于无重复值的情况 * * 固定第一个字符,递归取得首位后面的各种字符…
输入一个正数n,输出所有和为n连续正数序列.例如输入15,由于1+2+3+4+5=4+5+6=7+8=15,所以输出3个连续序列1-5.4-6和7-8. #define N 15 void findSubquence(int n) { int end = (n + 1) / 2; int small = 1; int big = 2; int sum = small + big; //N/2<=small<big,small>N/2,否则,small+big>N while (sm…
1. 题目描述 输入一个整数,输出该数二进制表示中1的个数.其中负数用补码表示. 2. 思路和方法 使用移位(<<)和 “| & !”操作来实现.1的二进制是:前面都是0,最后一位为1.每次向左移位一下,使得flag的二进制表示中始终只有一个位为1,每次与n做位与操作,这样就相当于逐个检测n的每一位是否是1.unsigned int flag = 1;  例如:5&1 = 101 & 001,1前面补0. 3. C++核心代码 3.1 位运算 class Solutio…
package com.bjpowernode.t02inheritance.c09; /* * 使用super调用父类的构造方法 */public class TestSuper02 { public static void main(String[] args) { IPhoneX iPhoneX1 = new IPhoneX(10); IPhoneX iPhoneX2 = new IPhoneX(); // System.out.println(iPhoneX.color);// Syst…
全排列在笔试面试中很热门,因为它难度适中,既可以考察递归实现,又能进一步考察非递归的实现,便于区分出考生的水平.所以在百度和迅雷的校园招聘以及程序员和软件设计师的考试中都考到了,因此本文对全排列作下总结帮助大家更好的学习和理解.对本文有任何补充之处,欢迎大家指出. /** * 编写带有下列声明的例程: * public void permute(String str); private void permute(char[] str, int low, int high); 第一个例程是个驱动程…
import itertools str = input('请输入一个字符串:') lst = [] for i in range(1, len(str)+1): lst1 = [''.join(x) for x in itertools.permutations(str, i)] lst += lst1 print(lst) 主要使用的itertools库…
1.题目 如何找出字符串的字典序全排列的第N种?(字符串全排列的变种) 2.思路 主要想通过这题,介绍一下康托展开式.基于康托展开式可以解决这个问题. 一般的解法:①求出所有全排列 ②按照字典序排个序 ③取第N个 3.康托展开与逆展开 康托展开是一个全排列到一个自然数的双射,常用于构建哈希表时的空间压缩. 康托展开的实质是计算当前排列在所有由小到大全排列中的顺序,因此是可逆的.(引用) 3.1公式X=a[n]*(n-1)!+a[n-1]*(n-2)!+…+a[i]*(i-1)!+…+a[1]*0…
给定两个字符串 s 和 t,它们只包含小写字母.字符串 t 由字符串 s 随机重排,然后在随机位置添加一个字母.请找出在 t 中被添加的字母. 示例: 输入: s = "abcd" t = "abcde" 输出: e 解题思路:该题的解法和上一篇我们解决问题的思路一样,同样此题我们需要定义两个数组arr1和arr2分别存储字符串s和t每一个字符出现的次数,遍历统计字符串每一个字符出现的次数,最后遍历,找出arr1和arr2不相等,不相等的坐标存储的就是字符串t中添加…
package com.swift; import java.util.ArrayList; import java.util.List; import java.util.ListIterator; public class Collections { public static void main(String[] args) { /* * 完成以下需求: *创建一个存储字符串的集合list,向list中添加以下字符串:”C++”.”Java”.” Python”.”大数据与云计算”. *遍…
函数可以没有返回值案例,编写一个函数,从终端输入一个整数,打印出对应的金字塔 import scala.io.StdIn object work02 { def main(args: Array[String]): Unit = { println("请输入一个数") var num:Int=StdIn.readInt() val pige=(num:Int)=>{ for (i<-1 to num){ for (j<-1 to num-i){ print("…
package com.loaderman.test; import java.util.Comparator; import java.util.Scanner; import java.util.TreeSet; public class Test { /** * 从键盘接收一个字符串, 程序对其中所有字符进行排序,例如键盘输入: helloitcast程序打印:acehillostt * 分析: * 1,键盘录入字符串,Scanner * 2,将字符串转换为字符数组 * 3,定义TreeS…
要求 用户输入一个数字,按照数字打印出等腰三角形 思路 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是…
设计一个 Java 程序,自定义异常类,从命令行(键盘)输入一个字符串,如果该字符串值为“XYZ”,则抛出一个异常信息“This is a XYZ”,如果从命令行输入 ABC,则没有抛出异常.(只有 XYZ 和 ABC 两种输入). class xyz { public void test(String x) { if(x.equals("xyz")) { try{ throw new exception(x);} catch(exception e){e.printStackTrac…
分析以下需求,并用代码实现 1.定义ArrayList集合,存入多个字符串"abc" "def" "efg" "def" "def" "qwe" "def" "def" "swd" "wwe" "def" "def" 2.使用普通for循环获取集合中索引为3的元素并打印…
(1)从键盘输入一个字符串(串长不大于80). (2)以十进制输出字符串中非字母字符的个数(不是a to z或 A to Z). (3)输出原字符串且令非字母字符闪烁显示. (4)找出字符串中ASCII码值最大的字符,在字符串中用红色显示. (5)字符串的输入和结果的输出都要有必要的提示,且提示独占一行. (6)要使用到子程序. data segment hintinput db "please input a string:$" hintoutput1 db "The nu…
[Date]2013-09-19 [Author]wintys (wintys@gmail.com) http://wintys.cnblogs.com [Content]: 1.面试题 输入一个整型数组,找出最大值.最小值,最大值与第一个元素交换,最小值与最后一个元素交换,并输出. 2.程序 public class MaxMinTest {     public static void main(String[] args) {         int[] a={1,7,2,4,5,3,2,…
题目: 输入一个数字n  如果n为偶数则除以2,若为奇数则加1或者减1,直到n为1,求最少次数  写出一个函数 首先,这道题肯定可以用动态规划来解, n为整数时,n的解为 n/2 的解加1 n为奇数时,n的解为 (n+1)/2 和 (n-1)/2 的解中较小的解加2 通过这个思路,我们可以自底向上依次计算出n的解,代码如下 public static int getNum(int n) { if(n<1) { return 0; } int[] res = new int[n+1]; res[0…
输入一个正整数n,计算出[0,n]这些整数中的二进制数没有连续3个1的数字有多少? 例子:输入数字9,则输出结果位9.因为[0-9]中,只有数字7有连续的三个‘1’出现,别的都没有,所以一共有9个数字满足要求. 分析:这个题目与求解一个正整数中‘1’的个数有点类似,就是进行一些循环处理. 代码如下: #include <iostream> using namespace std; int main() { ,k=; cin>>n; ;i<=n;i++)//对[1-n]进行循环…
剑指offer 1,输入一个字符串,将字符串的空格替换成%20    function replaceSpace(str){      return str.replace(/\s/g,"%20");   }    replaceSpace("we are right")…
如何输入一个字符串,得到一个唯一的hashcode? 例子如下: package main import ( "fmt" "hash/crc32" ) // String hashes a string to a unique hashcode. // // crc32 returns a uint32, but for our use we need // and non negative integer. Here we cast to an integer /…
实现一个算法,寻找字符串中出现次数最少的.并且首次出现位置最前的字符如"cbaacfdeaebb",符合要求的是"f",因为他只出现了一次(次数最少).并且比其他只出现一次的字符(如"d")首次出现的位置最靠前. 空间换时间 var str = 'ksafa;sldfkasddfklwewkelfeerueuruieo2dofjklksafa;sldfkasddfklwewkelfeerueuruieo2dofjkl' function find…
/*查找字符串中的数字串问题 输入一个字符串,查找它的第一个数字串,并返回其个数 */ #include <stdio.h> char firstnum(char *input,char *output) { char *in=input,*out=output,*temp; int count=0,i; while(*in !='\0') { if(*in>='0'&&*in<='9') { count=0; for(temp=in;*in>='0'&…
题目:写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度. public class _038PrintLength { public static void main(String[] args) { printLength(); } private static void printLength() { Scanner scanner = new Scanner(System.in); System.out.println("请输入一个字符串 :"); Str…
C#  用户输入一个字符串,求字符串的长度使用字符串的length: class Program { static void Main(string[] args) { Console.WriteLine("请输入一句话:"); string str= Console.ReadLine(); int count= StrLength(str); Console.WriteLine(count); Console.ReadKey(); } /// <summary> ///…
# -*- coding: utf8 -*- # Author:wxq #python 2.7 #首先定义一个字符串 str1 = raw_input('请输入一个字符:') #初始化字符.数字.空格.特殊字符的计数 str_sum = 0 dig_sum = 0 spa_sum = 0 other_sum = 0 for strs in str1: #如果在字符串中有字符,那么字符的数量+1 if strs.isalpha(): str_sum += 1 #如果在字符串中有数字,那么数字的数量…
输入3个字符串,要求按由小到大的字母顺序输出 如 输入franch england china,输出结果是china england franch 三个数排序输出,比较三个数的大小怎么做? a=18 b= 9 c=30 a>b 交换 a=9 b=18 可不可以用选择法?可不可以用冒泡法?但是这里用不着 例题: string1 string2 string3 temp a=18 b= 9 c=30 b>c? 交换 b中放的是b 和 c 中小的数,c中放的是bc中大的数. 如果a<b,则输出…
import java.util.Scanner; /** * [程序38] * * 题目:写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度. * * @author James * */ public class 第三十八题统计字符串的长度 { public static void main(String[] args) { System.out.println("请输入一个字符串"); Scanner in = new Scanner(System.in);…
题目:输出一个字符串,输出翻转后的字符串.例如:输入字符串a123,输出321a. 方法一:使用列表的reverse方法 string=input('请输入一个字符串:') lst=list(string) #使用列表,将列表转化为字符串 lst.reverse() print(''.join(lst)) 运行结果: 请输入一个字符串:abc123 321cba 方法二:切片法 def reverse(): s=input("请输入一个字符串:") return s[::-1] pri…
例如输入字符串"345",则输出整数345.-----------------------------此题一点也不简单.不信,你就先不看一下的代码,你自己先写一份,然后再对比一下,便知道了. 1.转换的思路:每扫描到一个字符,我们把在之前得到的数字乘以10再加上当前字符表示的数字.这个思路用循环不难实现.2.由于整数可能不仅仅之含有数字,还有可能以'+'或者'-'开头,表示整数的正负.如果第一个字符是'+'号,则不需要做任何操作:如果第一个字符是'-'号,则表明这个整数是个负数,在最后…
题目描述 输入一个链表,从尾到头打印链表每个节点的值. 思路1. 翻转链表,使用java自带的翻转函数或者从头到尾依次改变链表的节点指针 /** * public class ListNode { * int val; * ListNode next = null; * * ListNode(int val) { * this.val = val; * } * } * */ import java.util.ArrayList; import java.util.Collections; pub…