给定一个有N个正整数的序列A(N<=10^5,A[i]<=10^5),对序列中的每一个数,求出序列中它左边比它小的数的个数. 思路:树状数组的经典应用(裸题) #include <iostream> #include <algorithm> #include <cstring> using namespace std ; ; int c[N] ; int lowbit(int x){//取得最右边的一个1 return x&(-x) ; } int…
该题还是考杨辉三角计算,只不过最后每一行都放入List集合中,然后返回,直接看代码: public static List<List<Integer>> generate(int row){ List<List<Integer>> list = new ArrayList<List<Integer>>(); int[][] arr = new int[row][row]; for(int j = 0;j<row;j++) { L…
A - A CodeForces - 478A 注意点: 和为0时要特判一下. 代码: #include<bits/stdc++.h> using namespace std; int main() { int a,b,c,d,e; cin>>a>>b>>c>>d>>e; int sum=0; sum=a+b+c+d+e; if(sum==0) { cout<<-1<<endl; } else { if(sum…
(1)今天做了什么: (2)明天准备做什么? (3)遇到的问题,如何解决? 今天学习了菜鸟教程实例部分 一.字符串 1.字符串比较--compareTo方法 public class Main { public static void main(String[] args) { String str = "Hello World"; String anotherString = "hello world"; Object objStr = str; System.o…
题目 给定一个非负索引 k,其中 k ≤ 33,返回杨辉三角的第 k 行. 在杨辉三角中,每个数是它左上方和右上方的数的和. 示例: 输入: 3 输出: [1,3,3,1] 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/pascals-triangle-ii 著作权归领扣网络所有.商业转载请联系官方授权,非商业转载请注明出处. 解题 模板: /** * Note: The returned array must be malloced,…
给定一个非负整数 c ,你要判断是否存在两个整数 a 和 b,使得 a2 + b2 = c. 示例1: 输入: 5 输出: True 解释: 1 * 1 + 2 * 2 = 5 示例2: 输入: 3 输出: False 在这题里面,可以使用二分查找来缩小搜索的范围 由数学定理(我忘了具体的哪个定义)可知,a和b的具体取值范围落在0到根号c之间.然后简单运用二分法就能十分便捷找到答案了. 代码如下: class Solution { public: bool judgeSquareSum(int…
给定一个非负整数 num,反复将各个位上的数字相加,直到结果为一位数. 示例: 输入: 38 输出: 2 解释: 各位相加的过程为:3 + 8 = 11, 1 + 1 = 2. 由于 2 是一位数,所以返回 2. 进阶: 你可以不使用循环或者递归,且在 O(1) 时间复杂度内解决这个问题吗? java 暴力 版 class Solution { public int addDigits(int num) { if(num==0) { return 0; } while((int)Math.log…
原题目: 跳跃游戏 II 给定一个非负整数数组,你最初位于数组的第一个位置. 数组中的每个元素代表你在该位置可以跳跃的最大长度. 你的目标是使用最少的跳跃次数到达数组的最后一个位置. 示例: 输入: [2,3,1,1,4] 输出: 2 解释: 跳到最后一个位置的最小跳跃数是 2. 从下标为 0 跳到下标为 1 的位置,跳 1 步,然后跳 3 步到达数组的最后一个位置. 说明: 假设你总是可以到达数组的最后一个位置. 解法: 这道题希望用最少的次数完成跳跃,符合贪心的思维:局部最优,不可取消 我们…
这题是 55.跳跃游戏的升级版 力扣Leetcode 55. 跳跃游戏 给定一个非负整数数组,你最初位于数组的第一个位置. 数组中的每个元素代表你在该位置可以跳跃的最大长度. 你的目标是使用最少的跳跃次数到达数组的最后一个位置. 示例: 输入: [2,3,1,1,4] 输出: 2 解释: 跳到最后一个位置的最小跳跃数是 2.从下标为 0 跳到下标为 1 的位置,跳 1 步,然后跳 3 步到达数组的最后一个位置. 说明:假设你总是可以到达数组的最后一个位置. 解题思路 还是利用贪心的思想 维护每次…
给定一个非负整数数组 A, A 中一半整数是奇数,一半整数是偶数. 对数组进行排序,以便当 A[i] 为奇数时,i 也是奇数:当 A[i] 为偶数时, i 也是偶数. 你可以返回任何满足上述条件的数组作为答案. 示例: 输入:[4,2,5,7]输出:[4,5,2,7]解释:[4,7,2,5],[2,5,4,7],[2,7,4,5] 也会被接受. 提示: 2 <= A.length <= 20000A.length % 2 == 00 <= A[i] <= 1000 来源:力扣(Le…