一.for循环方式实现输出[1, 2, 3, ..., n] var n = 5; function test(n){ var arr=[]; for( var i = 1; i <= n; i++){ arr.push(i) } return arr; } console.log(test(n)); //输出:[1, 2, 3, 4, 5] 二.利用递归实现输出[1, 2, 3, ..., n] var n = 10; function test(n){ var arr = []; retur…
问题描述: 给定一个数字n,打印出所有的划分等式 例: n = 3 3 2+1 1+1+1 解题源代码: import java.util.Scanner; /** * 给定数字n,打印出其所有用加法算出来的表达式 * @author Administrator * */ public class Demo07 { public static void f(int n,int[] a,int start) { if(n==0) { for(int m=0;m<start;m++) { Syste…
返回本章节 返回作业目录 需求说明: 由系统随机生成一个1~100之间的整数. 通过控制台一直输入一个整数,比较该数与系统随机生成的那个数,如果大就输出"猜大了.",继续输入:如果小就输出"猜小了.",继续输入:如果相等就输出"恭喜,猜对了.",退出输出. 实现思路: 通过Math类的random()方法组合产生一个1-100的随机数.同时用户也输入一个数字. 在循环中反复比较产生的随机数和用户输入数字的大小,直至成功预测后退出循环. 实现代码:…
Unique Binary Search Trees II leetcode java [LeetCode]Unique Binary Search Trees II 异构二叉查找树II Unique Binary Search Trees II -- LeetCode 描述 Given n, generate all structurally unique BST's (binary search trees) that store values 1...n. For example,Give…
[Leetcode] Unique binary search trees 唯一二叉搜索树 Unique Binary Search Trees leetcode java 描述 Given n, how many structurally unique BST's (binary search trees) that store values 1...n? For example,Given n = 3, there are a total of 5 unique BST's. 1 3 3 2…
1. 思路: 缩小范围 2. 方法: (1)要查找的数字等于数组中的数字,结束查找过程: (2)要查找的数字小于数组中的数字,去除该数字右边的数字,在剩下的数字里查找: (3)要查找的数字大于数组中的数字,去除该数字上边的数字,在剩下的数字里查找. 3. 图例 ​ 4. C++实现 #include <iostream> #include <vector> using namespace std; class Solution { public://类.公有成员.成员函数 bool…
c = 0a = 10while c <3:    b = int(raw_input("请输入数字"))    if b == a:        print "你赢了"        break    else:        print "les or big"    c = c + 1…
package com.swift; import java.util.Random; import java.util.Scanner; public class GuessBigSmall { public static void main(String[] args) { Scanner scan=new Scanner(System.in); Random random = new Random(); int number = random.nextInt(1000) + 1; for…
示例: 输入:n为3 输出:[ "((()))", "(()())" "(())()", "()(())", "()()()" ] Python解决方案: class Solution(object): def generateParenthesis(self, n): """ :type n: int :rtype: List[str] """…
最近因为项目的缘故,要使用到volist.在这个过程中,遇到了一些小问题,主要就是volist在循环输出多重数据的时候,如何输出key.网上查阅了不少资料,很失望的是,大多资料就是粘贴复制Thinkphp手册上volist标签的说明.为了帮助其他人,故决定写下这篇文章.( 在这里,使用的框架是Thinkphp3.2,其它的相关知识,是php数组).首先贴出控制器里面代码: public function check() { $multiArr = [ [ 'a' => [ 'num' => '…
题目:给定一个长度为N的数组,其中每个元素的取值范围都是1到N.判断数组中是否有重复的数字.(原数组不必保留) 方法1.对数组进行排序(快速,堆),然后比较相邻的元素是否相同.时间复杂度为O(nlogn),空间复杂度为O(1). 方法2.使用bitmap方法.定义长度为N/8的char数组,每个bit表示对应数字是否出现过.遍历数组,使用 bitmap对数字是否出现进行统计.时间复杂度为O(n),空间复杂度为O(n). 方法3.遍历数组,假设第 i 个位置的数字为 j ,则通过交换将 j 换到下…
如果说: 给定一个号码与通配符问号W,问号代表一个随机数字. 给定的整数,得到X,和W它具有相同的长度. 问:多少整数协议W的形式和的比率X大? 进格公式 数据的多组,两排各数据的,W,第二行是X.它们长度同样.在[1..10]之间. 输出格式 每行一个整数表示结果. 答题说明 输入例子 36? 1? 8 236428 8? 3 910 ? 5 输出例子 100 0 4 分析例如以下: 先用穷举法来分析几种可能情况 1. 36?1? 8 236428 假设W第一个通配符之前的数字大于X,则通通配…
""" #给定一个只包含正整数的非空数组,返回该数组中重复次数最多的前N个数字 #返回的结果按重复次数从多到少降序排列(N不存在取值非法的情况) 解题思路: 1.设定一个空字典,去存储列表中的值和值出现的次数 2.使用L.count()方法可以统计出L中值出现的次数 3.使用sorted方法可以进行排序,sorted(iterable,key,reverse) 注意key是函数 4.列表中的元祖取值 d[i][j] i是哪一个元祖,j是元祖中的第几个值 ""…
给定一个包含非负整数的 m x n 网格,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小. 说明:每次只能向下或者向右移动一步. 例: 输入: [ [1,3,1], [1,5,1], [4,2,1] ] 输出: 7 解释: 因为路径 1→3→1→1→1 的总和最小. 问题分析:首先判断传入数组arr是否为空,为空直接返回0,新建数组array,用来表示每一步走后的数字之和,接下来步骤见代码注释 public static int minPathSum(int[][] arr) {…
一,问题描述 给定一个整数N,求解该整数最少能用多少个Fib数字相加得到 Fib数列,就是如: 1,1,2,3,5,8,13.... Fib数列,满足条件:Fib(n)=Fib(n-1)+Fib(n-2)   Fib(0)=1   Fib(1)=1:Fib数字,就是Fib数列中的某个数. 比如70 = 55+13+2,即一共用了3个fib数字得到 二,问题求解 ①求出所有小于等于N的Fib数字 //获得小于等于n的所有fib数 private static ArrayList<Integer>…
谷歌笔试题--给定一个集合A=[0,1,3,8](该集合中的元素都是在0,9之间的数字,但未必全部包含), 指定任意一个正整数K,请用A中的元素组成一个大于K的最小正整数. Google2009华南地区笔试题 给定一个集合A=[0,1,3,8](该集合中的元素都是在0,9之间的数字,但未必全部包含),指定任意一个正整数K,请用A中的元素组成一个大于K的最小正整数.比如,A=[1,0] K=21 那么输出结构应该为100. <pre name="code" class="…
1 //判断任意一个数是9的多少倍 #include <stdio.h> #include <stdlib.h> int main() { printf("请输入任意一个数\n"); int c, a, b; scanf_s("%d", &c); printf("它对9的倍数是:\n"); ){ a = c / ; printf("%d\n", a); } else{ printf("…
def test(ary): ds = {} for i in range(len(ary)): if ds.get(ary[i]): ds[ary[i]].append(i) else: ds[ary[i]] = [i] return ds if __name__ == '__main__': ary = [1,2,3,5,2,5,4] ds = test(ary) num = int(input("which number you want?")) print(ds[num]) 其…
问题描述: We are asking for a function to take a positive integer value, and return a list of all positive integer pairs whose values - when squared- sum to the given integer. For example, given the parameter 25, the function could return two pairs of 5,…
题目:任意给定一个正整数N,求一个最小的正整数M(M>1),使得N*M的十进制表示形式里只含有1和0. 解法一:暴力求解.从1开始查找M,然后判断M*N=X这个数字是否只含有0,1. 解法二:由于没有直接的数学方法能帮我们直接得到M的值,所以我们只能进行搜索.由于相对M,乘积N*M具有明显的特征,需要搜索的空间要小很多,所以我们对乘积N*M进行搜索.如果N*M的结果有K位,则要循环2^K次,我们发现K的结果能轻易超过40,所以这个运行时间还是相当长.同余运算具有等价关系,mod N = i(0<…
给定一个数组,求和为定值的所有组合, 这道算法题在leetcode应该算是中等偏下难度, 对三到五年工作经验主要做业务开发的同学来说, 一般较难的也就是这种程度了. 简述经过: 不算hr面,总计四面,第一天前三面, 然后过了一个多星期第四面(领导一般都比较忙~) 平均每一面都是一小时,面完前三面已经很辛苦了. 我之前去美团面试从一面到hr面,总计四面 面了一下午将近四个小时...还不包括来回路程,所以面试是项体力+脑力的活,准备的充分了,面试成功率高少跑几次了~就会轻松不少~大部分同学面试面上几…
题目: 给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,下标 ,a ,b , c 对应数相加等于 targe 找出所有满足条件且不重复的三元组下标 解析: 在一个list里面找出来三个数字使这三个数字相加等于目标targe, 这里是一个list 我们去循环这里面的元素,我们利用for循环, 第一个取来,然后后剩下的元素分别取循环上一个循环剩下的元素.这样保证了不重复,最后验证下,如果找出来的数字的值满足a+b+c=targe ,且三个数不相等,我们认为…
今天下午,看了一会github,想刷个题呢,就翻出来了刷点题提高自己的实际中的解决问题的能力,在面试的过程中,我们发现,其实很多时候,面试官 给我们的题,其实也是有一定的随机性的,所以我们要多刷更多的题.去发现问题. 题目:     给定一个整数数组 nums 和一个目标值 taget,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标. 你可以假设每种输入只会对应一个答案.但是,你不能重复利用这个数组中同样的元素. 解析: 实际这里就是给你的一个列表的数字,给你一个预期,让你返…
package com.lw.HomeWork1;//包名 2 import java.util.Scanner; public class Demo18 { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub Scanner sc = new Scanner(System.in); System.out.println("用哪个数循环?:");…
一.第一种写法 package com.pb.demo1; import java.util.Scanner; /** * 题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字.例如2+22+222+2222+22222(此时共有5个数相加), * a以及累加数的位数是从键盘接收. 程序分析: * 1. 接收从键盘输入的一个数(数字只能是1-9之间的数) * 2. 接收一个数表示累加数的位数 * 3.例如,输入一个4(累加数的位数),键盘输入a的值是5:s=5+55+555…
题目 1 给定一个十进制的正整数,写下从1开始,到N的所有整数,然后数一下其中出现“1”的个数. 2 要求: (1) 写一个函数 f(N) ,返回1 到 N 之间出现的“1”的个数.例如 f(12)  = 5. (2)在32位整数范围内,满足条件的“f(N) =N”的最大的N是多少. 设计思想 (1)一位数时 f(0)=0;f(1)=1;f(2-9)=1; (2)二位数时 f(10)=1+(0+1)=2; f(11)=(1+1)+(1+1)=4; f(12)=(1+1)+(2+1)=5; f(1…
题目:给定一个函数rand()能产生1到n之间的等概率随机数,问如何产生1到m之间等概率的随机数? 先把问题特殊化,例如原题变为给定一个函数rand5(),该函数可以随机生成1-5的整数,且生成概率一样.现要求使用该函数构造函数rand7(),使函数rand7()可以随机等概率的生成1-7的整数. 很多人的第一反应是利用rand5() + rand()%3来实现rand7()函数,这个方法确实可以产生1-7之间的随机数,但是仔细想想可以发现数字生成的概率是不相等的.rand()%3 产生0的概率…
package com.boco.study; /** * 题目详情 给定一个字符串,仅由a,b,c 3种小写字母组成. 当出现连续两个不同的字母时,你可以用另外一个字母替换它,如 有ab或ba连续出现,你把它们替换为字母c: 有ac或ca连续出现时,你可以把它们替换为字母b: 有bc或cb 连续出现时,你可以把它们替换为字母a. 你可以不断反复按照这个规则进行替换,你的目标是使得最终结果所得到的字符串尽可能短, 求最终结果的最短长度. 输入:字符串.长度不超过200,仅由abc三种小写字母组成…
Problem Description A while ago it was quite cumbersome to create a message for the Short Message Service (SMS) on a mobile phone. This was because you only have nine keys and the alphabet has more than nine letters, so most characters could only be…
题目: 输入一个数字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…